Log4j2使用简介
2017-12-28 10:38
471 查看
1 Log4J2相关包
log4j-api.jar(Apache Log4j 2 API)提供统一接口
log4j-core.jar(Apache Log4j 2 Implementation)
提供接口的具体实现
log4j-web(Apache Log4j 2 Web)
包含一些Web应用相关的类,例如:Log4jServletContextListener等。
在Servlet 3.0及以后版本中,Servlet提供了ServletContainerInitializer接口,在Servlet容器初始化阶段执行该接口。
在log4j-web.jar中,通过Log4jServletContainerInitializer实现了该接口。
在接口实现中对ServletContext添加了Log4jServletContextListener,log4jConfigLocation默认为/WEB-INF/log4j2.xml。
因此,不在web.xml进行上述配置,即可自动完成监听及加载操作。
详细内容参考官网:http://logging.apache.org/log4j/2.x/manual/webapp.html
log4j-jcl.jar(Apache Log4j 2 Commons Logging Bridge)
应用中使用Commons Logging API日志框架,绑定log4j2作为接口的具体实现
log4j-slf4j-impl.jar(Apache Log4j 2 SLF4J Binding)
应用中使用slf4j日志框架,绑定log4j2作为接口的具体实现。
log4j-to-slf4j.jar(Apache Log4j 2 to SLF4J Adapter)
应用中使用log4j2日志框架,通过适配器,实现log4j2底层转调slf4j接口。
log4j-slf4j-impl.jar与log4j-to-slf4j.jar不可共存,否则会产生冲突。
2 配置步骤
(1)添加依赖项:log4j-core.jar、log4j-api.jar、log4j-web.jar<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-web</artifactId> <version>${log4j.version}</version> </dependency>
(2)配置log4j2.xml文件:/src/main/resources/log4j2.xml
<?xml version="1.0" encoding="UTF-8"?> <!-- status : Log4j2自身日志输出级别 | OFF 表示关闭Log4j2自身日志输出 --> <!-- monitorInterval : 动态加载配置文件间隔(单位:秒) --> <Configuration status="WARN" monitorInterval="60"> <!-- 自定义参数 --> <Properties> <!-- ${date:yyyy-MM-dd} : 系统时间 --> <Property name="filename">${date:yyyy-MM-dd}</Property> <!-- %d{yyyy-MM-dd HH:mm:ss, SSS} : 日志记录时间 %t : 线程名称 %-5level : 日志级别,-表示左对齐,5表示固定长度为5 %l : 执行位置 %m : 日志内容,即 logger.info("message") %n : 换行符 --> <Property name="pattern">%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] [%-5level] - %l - %msg%n</Property> </Properties> <!-- 输出源 --> <Appenders> <!-- 控制台 --> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] [%-5level] %logger{36} - %l - %msg%n"/> </Console> <!-- 日志文件 --> <!-- append : 是否追加 | true 追加内容 | false 覆盖文件 --> <File name="MyFile" fileName="app.log" append="true"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </File> <!-- 滚动日志文件 --> <!-- 通常设置三个RollingFile输出源:Info, Error, Fatal --> <RollingFile name="RollingFileInfo" fileName="${sys:user.home}/logs/${filename}-info.log" filePattern="${sys:user.home}/logs/$${date:yyyy-MM-dd}/info-%d{yyyy-MM-dd}-%i.log"> <!-- level : 输出级别控制 --> <!-- onMatch : 满足级别操作(ACCEPT输出) --> <!-- onMismatch : 不满足级别操作(DENY忽略) --> <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/> <!-- 输出格式 --> <PatternLayout pattern="${pattern}"/> <Policies> <!-- 更新时间策略 : 每间隔24小时创建一个新日志文件 --> <TimeBasedTriggeringPolicy modulate="true" interval="24"/> <!-- 文件大小策略 : 当前日志文件操作10MB时创建一个新日志文件 --> <SizeBasedTriggeringPolicy size="10MB"/> </Policies> <!-- 最大文件数量 --> <DefaultRolloverStrategy max="2"/> </RollingFile> </Appenders> <!-- 记录器 --> <Loggers> <!-- 默认记录器 --> <!-- level : 日志级别限制 --> <Root level="info"> <!-- ref : 输出源绑定 --> <Appender-ref ref="Console"/> </Root> <!-- 监控记录器 --> <!-- name : 指定监控对象名(包名或类名) --> <!-- level : 日志输出级别 --> <!-- additivity : 是否生效 --> <Logger name="org.springframework" level="FATAL" additivity="false"> <!-- 输出源 --> <Appender-ref ref="RollingFileInfo"/> </Logger> </Loggers> </Configuration>
3 使用示例
private static final Logger logger =LogManager.getLogger(Xxxx.class); logger.info(“Message”);
相关文章推荐
- vue项目中调用百度地图API使用简介
- 超级终端使用简介
- mysqlbinlog 使用简介
- log4j2使用总结
- DOM4J 使用简介
- docker简介及使用国内镜像源安装docker
- DevExpress控件库 开发使用经验总结1 DevExpress简介、安装、使用
- XML解析简介及Xerces-C++简单使用举例
- HttpWatch工具简介及使用技巧
- AWStats简介:Apache/Windows IIS的日志分析工具的下载,安装,配置样例和使用(含6.9中文定义补丁)
- Ansible基础简介与使用
- Linux下的链表使用简介
- 【Gson】简介 文档 基本使用 示例
- 内核调试神器SystemTap — 简介与使用
- log4j2使用总结
- 快速进入核心领域-histcite使用简介
- NET中对资源文件的使用简介
- Spring Cloud Sleuth使用简介
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- phpdocumentor2 简介安装使用详解