伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

springboot集成log4j2【JWordPress前台项目实战】

来源:本站原创 浏览:109次 时间:2022-10-16
写在前面

在任何系统中,日志都是非常重要的组成部分,它是反映系统运行情况的重要依据,也是排查问题时的必要线索。绝大多数人都认可日志的重要性,但是又有多少人仔细想过该怎么打日志,日志对性能的影响究竟有多大呢?

新的Log4j 2.0版本有了大幅的性能提升、新的插件系统,以及配置设置方面的很多改善。Log4j 1.x 在高并发情况下出现死锁导致cpu使用率异常飙升,而Log4j2.0基于LMAX Disruptor的异步日志在多线程环境下性能会远远优于Log4j 1.x和logback ——官方测试结果。

代码

pom.xml添加相应的依赖

<!–配置Log4j2日志 –>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>com.lmax</groupId>
<artifactId>disruptor</artifactId>
<version>3.3.6</version>
</dependency>

增加日志格式配置文件log4j2.xml

<?xml version=”1.0″ encoding=”UTF-8″?>
<!–Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出。 –>
<!– monitorInterval 自动监控配置文件是否发生改变的时间间隔,如果检测到改变会进行热加载–>
<Configuration status=”INFO” monitorInterval=”1800″>
<!– 全局属性 –>
<properties>
<!–日志文件储存的目录 –>
<!– <property name=”LOG_HOME”>${sys:catalina.home}/logs/om_error</property> –>
<property name=”LOG_HOME”>/data/logs</property>
<property name=”ERROR_FILE_NAME”>JWordpres-web</property>
<!–设定日志输出的具体格式 –>
<!–%-5p(日志级别) | %d(日期) | JWordpres-v1.0 | [%t(线程名称)-%T(线程号)] (%c{1.}(简化全类名):%L(行号)) | %m(日志信息)%n(换行) –>
<property name=”PATTERN”>%-5p | %d | JWordpres-v2.0 | [%t-%T] (%c{1.}:%L) | %m%n</property>
<!– <property name=”PATTERN”>%d %-5p [%t-%T] (%c{1.}:%L) – %m%n</property> –>
</properties>

<!–定义日志的输出路径 –>
<Appenders>
<!–输出日志到控制台 –>
<Console name=”Console” target=”SYSTEM_OUT”>
<PatternLayout pattern=”${PATTERN}” />
</Console>
<!– 这个会打印出所有的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档–>
<RollingFile name=”ErrorLog” fileName=”${LOG_HOME}/${ERROR_FILE_NAME}.log”
filePattern=”${LOG_HOME}/${ERROR_FILE_NAME}_%d{yyyy-MM-dd}_%i.log”
bufferedIO=”false” immediateFlush=”true” >
<!–设置日志输出的格式 –>
<PatternLayout pattern=”${PATTERN}”/>
<!–设置当前日志只输出ERROR级别的日志 –>
<!–控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)–>
<!– <Filters>
<ThresholdFilter level=”ERROR” onMatch=”ACCEPT” onMismatch=”DENY”/>
</Filters> –>
<Policies>
<SizeBasedTriggeringPolicy size=”50 MB” />
<!–设置触发时间策略的时间间隔,一天产生一个新文件 –>
<TimeBasedTriggeringPolicy interval=”2000″ modulate=”true”/>
<!–设置每个日志文件的最大大小,单位可以为 B KB MB GB –>
<!– <SizeBasedTriggeringPolicy size=”1KB”/> –>
</Policies>
<!– DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件,这里设置了20000 –>
<DefaultRolloverStrategy max=”20000″/>
</RollingFile>

</Appenders>

<!–然后定义logger,只有定义了logger并引入的appender,appender才会生效–>
<Loggers>
<!– 3rdparty Loggers –>
<!– 下面配置一些第三方包的日志过滤级别,用于避免刷屏 测试–>
<logger name=”org.hibernate” level=”INFO” />
<logger name=”org.springframework” level=”INFO” />
<logger name=”org.apache” level=”INFO” />
<logger name=”org.mybatis” level=”INFO” />
<logger name=”com.alibaba” level=”INFO” />
<logger name=”druid.sql” level=”INFO” />
<logger name=”cn.liuhaihua.web.mapper” level=”DEBUG” />
<logger name=”cn.liuhaihua.web.service.impl” level=”INFO” />
<!–com.gomefinance包下的日志异步输出 includeLocation:包含本地信息;additivity:不继承父类的日志输出–>
<AsyncLogger name=”cn.liuhaihua.web” level=”INFO” includeLocation=”true” additivity=”false”>
<appender-ref ref=”ErrorLog”/>
<appender-ref ref=”Console”/>
</AsyncLogger>
<!–建立一个默认的root的logger –>
<root level=”INFO” includeLocation=”true”>
<appender-ref ref=”ErrorLog”/>
<appender-ref ref=”Console”/>
</root>
</Loggers>
</Configuration>
效果

启动应用,查看日志格式如下图所示


  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net