配置
首先,在项目中新建一个文件夹,文件夹名为lib
。
网络异常,图片无法展示
|
新建了lib文件夹后,我们将log4j2
的jar
放入lib
文件夹中。
网络异常,图片无法展示
|
放入之后我们进入项目结构设置。
网络异常,图片无法展示
|
网络异常,图片无法展示
|
然后点击+号导入lib中的两个包,勾选后确认。
这样初步配置就完成了。
使用
我们首先定义一个成员字段
private static Logger logger = LogManager.getLogger(Demo.class.getName());
其实这就是在获取Logger对象,这个对象可以调用一些方法记录日志。
前提是导入了这两个包。
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger;
这样我们就基本上可以使用了。
XML
不过我们要对Log4j2
进行一定的配置才可以让他数据更加详细和符合要求,我们在src
下新建一个log4j2.xml
文件。
xml
中我们可以书写一些定义和标识。可以自己了解。
我的XML
文件配置如下。
<?xml version="1.0" encoding="UTF-8"?> <configuration status="warn"> <appenders> <console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/> </console> <file name="log" fileName="log/test.log"> <patternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%1] %-5level-%msg%n"/> </file> <RollingFile name="RollingFileInfo" fileName="${sys:user.home}/logs/hpaasvc/info.log" filePattern="${sys:user.home}/logs/hpaasvc/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log"> <Filters> <ThresholdFilter level="INFO"/> <ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL"/> </Filters> <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/> <Policies> <TimeBasedTriggeringPolicy/> <SizeBasedTriggeringPolicy size="100 MB"/> </Policies> </RollingFile> <RollingFile name="RollingFileWarn" fileName="${sys:user.home}/logs/hpaasvc/warn.log" filePattern="${sys:user.home}/logs/hpaasvc/$${date:yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log"> <Filters> <ThresholdFilter level="WARN"/> <ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL"/> </Filters> <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/> <Policies> <TimeBasedTriggeringPolicy/> <SizeBasedTriggeringPolicy size="100 MB"/> </Policies> </RollingFile> <RollingFile name="RollingFileError" fileName="${sys:user.home}/logs/hpaasvc/error.log" filePattern="${sys:user.home}/logs/hpaasvc/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log"> <ThresholdFilter level="ERROR"/> <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/> <Policies> <TimeBasedTriggeringPolicy/> <SizeBasedTriggeringPolicy size="100 MB"/> </Policies> </RollingFile> </appenders> <loggers> <!--过滤掉spring和hibernate的一些无用的debug信息--> <logger name="org.springframework" level="INFO"> </logger> <logger name="org.hibernate" level="INFO"> </logger> <root level="all"> <appender-ref ref="Console"/> <appender-ref ref="RollingFileInfo"/> <appender-ref ref="RollingFileWarn"/> <appender-ref ref="RollingFileError"/> </root> </loggers> </configuration>
然后运行一句输出语句。
我们就可以看到日志的输出了。