log4j2 是 log4j 的升级,更为方便,更为强大。

log4j2.xml 的配置以及 log4j2的依赖包使用
log4j2 并没有其他的依赖包,只是在使用log4j的情况下,需要别的进行桥接 例如slf4j

log4j-core-xx.jar
log4j-api-xx.jar

当使用slf4j这个模块的时候,slf4j 不是具体的日志解决方案,它只服务于各种日志系统。
它是用于日志系统的简单门面,允许最终用户在部署其应用的时使用其所希望的日志系统。
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version></version>
</dependency>

当要用slf4j作为门面 使用log4j2 的话,还需要有额外的依赖
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.7</version>
</dependency>

以上log4j2的 maven依赖完毕。

log4j2的配置文件 默认为log4j2.xml <当然它支持 xml,json等格式的配置类型>
默认放置在 classpath的根目录下 即可
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="debug" monitorInterval="30">
<Properties>
<Property name="ptn">[%d{yyyy-MM-dd HH:mm:ss,SSS Z}] %-5p %c{1}.%t - %m%n</Property>
</Properties>

<appenders>
<Console name="console" target="SYSTEM_OUT">
<ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY" />
<PatternLayout pattern="${ptn}" />
</Console>
<RollingFile name="file" fileName="log/app.log"
filePattern="log/$${date:yyyy-MM}/app-%d{yyyyMMdd}-%i.log.gz">
<PatternLayout pattern="${ptn}" />
<SizeBasedTriggeringPolicy size="10MB" />
<DefaultRolloverStrategy max="20" />
</RollingFile>
<Async name="async">
<AppenderRef ref="file" />
</Async>
<RollingFile name="security-access" fileName="log/security-access.log"
filePattern="log/$${date:yyyy-MM}/security-access-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss,SSS Z}] - %m%n" />
<SizeBasedTriggeringPolicy size="10MB" />
<DefaultRolloverStrategy max="20" />
</RollingFile>

</appenders>

<!-- debug模式下,将com.skywares.dao下的mybatis sql语句打印到控制台 -->
<loggers>
<logger name="com.skywares.dao" level="debug" />
<root level="debug">
<appender-ref ref="console" />
</root>
</loggers>

</Configuration>

参考链接:

http://logging.apache.org/log4j/2.x/maven-artifacts.html

http://www.cnblogs.com/guogangj/p/4031571.html

最新文章

  1. Jenkins构建时报错:No Space left on device
  2. 【BZOJ-3555】企鹅QQ 字符串Hash
  3. python 获得当前路径
  4. 导入DXF文件
  5. 修改Android签名证书keystore的密码、别名alias以及别名密码
  6. BZOJ3560 : DZY Loves Math V
  7. 【转】Android自动化测试之MonkeyRunner录制和回放脚本(四)
  8. 15个提高编程技巧的JavaScript工具
  9. 数据库备份和恢复秩序的关系(周围环境:Microsoft SQL Server 2008 R2)
  10. scala中的view bound与context bound
  11. python 正则表达式汇总
  12. nodejs 复制、移动文件
  13. Koala Framework
  14. Struts2从头到脚--学习笔记(自认为比较重要的)
  15. iOS之 Category 属性 的理解
  16. 流处理与消息队列------《Designing Data-Intensive Applications》读书笔记16
  17. (转)如何在Eclipse中查看JDK类库的源代码
  18. Hibernate入门(三)
  19. CLion使用OpenCV(Ubuntu 18.04)
  20. 2018.12.22 spoj7258 Lexicographical Substring Search(后缀自动机)

热门文章

  1. pandas shift
  2. pandas设置值、更改值
  3. matplotlib绘图
  4. semantic segmentation with deeplearning
  5. BZOJ2822[AHOI2012]树屋阶梯——卡特兰数+高精度
  6. Lights inside a 3d Grid UVA - 11605(概率)
  7. 覆盖的面积 HDU - 1255(扫描线求面积交)
  8. day27 多态 多继承 接口类 抽象类
  9. Oracle Client安装报错:引用数据不可用于验证此操作系统分发的先决条件
  10. AGC 016 F - Games on DAG(状压dp)