刚整了个在线查看系统项目日志的方法,步骤挺简单的,分享下。
不知道大家有过样的感觉没,每次系统有问题,都得跑到服务器去查看日志,一行行命令敲感觉很麻烦。
刚一时兴起,整了个在线看项目日志的方法。希望别火星
我们项目用的日志框架是log4j。
步骤还挺简单的。
首先配置log4f的日志输出格式,以前我们输入到文件的日志默认布局方式是PatternLayout,现在我们改成HTMLLayout.就行了,日志按成生成
如下配置
log4j.rootLogger=info,console,file
#控制台输出
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
#应用到文件
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern=yyyy-MM-dd'.html'
log4j.appender.file.File=log/appStore_
#log4j.appender.file.DatePattern=yyyy-MM-dd'.log'
log4j.appender.file.layout=org.apache.log4j.HTMLLayout
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
生成的文件保存在xxxx/log/目录。
接下来我们的用到nginx(web容器都可以),配置下。
编辑 nginx 配置文件 nginx.conf,分配一个端口专门用来看项目的日志文件
server { listen 9098; server_name localhost; charset utf-8; location / { root D:/xxx/log; autoindex on ; } }
启动ngix。输入http://localhost:9098/
可以看到日志列表
点击第一个,效果还不错。
缺点:如果日志很大很大,比如一天的日志可以达到1G就不适合这个方法了。
解决办法:严格控制日志文件的大小,尽量少使用debug级别的日志,或者把不同包的日志输入到不同文件,按天生成的文件同理。