日志处理(一)

日志处理(一)

标签: 运维 开发

背景描述:

线上一台服务器突然无法服务,去服务器上一看,tomcat见面上疯狂打印错误日志(windows服务器)。同事一开始认为是日志打印太频繁占用了系统资源,希望通过关闭日志输出来解决问题。(但是后来发现问题并不是打印日志引发)看到组内的代码关于日志的处理这么浮夸,而我自己也在日志的处理问题上吃了不少亏。决定深入的研究一下日志问题。

1.目标

关于日志处理,我有以下几个问题需要弄清楚:

1.1log4j的详细配置

我们的项目最常用log4j记录日志,以前都是抄别人的配置,现在我下定决心要弄清楚所有的配置。

有以下几点比较重要的配置方式:

  • 定期回滚日志文件

简单易用,便于查询。注意设置大小,监控磁盘空间是否够用。

  • socket

统一采集日志。(我没用过,我担心占用过多系统资源)

  • 自定义appender

根据业务,将日志记录到不同的路径。

Log4J日志整合及配置详解

1.2tomcat日志调整

打开tomcat下的startup.shstartup.bat。里面都是在调用catalina.shcatalina.bat

打开catalina.bat,看到日志的相关配置:

rem   LOGGING_CONFIG  (Optional) Override Tomcat's logging config file
rem                   Example (all one line)
rem                   set LOGGING_CONFIG="-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties"
rem
rem   LOGGING_MANAGER (Optional) Override Tomcat's logging manager
rem                   Example (all one line)
rem                   set LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
rem
rem   TITLE           (Optional) Specify the title of Tomcat window. The default
rem                   TITLE is Tomcat if it's not specified.
rem                   Example (all one line)
rem                   set TITLE=Tomcat.Cluster#1.Server#1 [%DATE% %TIME%]
rem ---------------------------------------------------------------------------

我们就知道了tomcat使用的日志类和配置文件的路径。

然后随便搜搜你就知道该如何配置了。

我觉得tomcat的日志就该全关了。

如果服务是部署在linux上,还可以修改catalina.sh,将日志路径指向null。

1.3提高日志性能

LOG4J性能优化
log4j日志输出性能优化

高并发下log4j的性能瓶颈

LOG4J日志性能建议

posted @ 2020-07-26 12:18  海森堡不如我侧的准  阅读(157)  评论(0编辑  收藏  举报