测试代码
package net.oschina.mysql.inndb;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Hello {
static Logger logger = LogManager.getLogger(Hello.class.getName());
public boolean hello() {
logger.entry(); // trace级别的信息,单独列出来是希望你在某个方法或者程序逻辑开始的时候调用,和logger.trace("entry")基本一个意思
logger.error("Did it again!"); // error级别的信息,参数就是你输出的信息
logger.info("我是info信息"); // info级别的信息
logger.debug("我是debug信息");
logger.warn("我是warn信息");
logger.fatal("我是fatal信息");
// logger.log(Level.DEBUG, "我是debug信息"); // 这个就是制定Level类型的调用:谁闲着没事调用这个,也不一定哦!
logger.exit(); // 和entry()对应的结束方法,和logger.trace("exit");一个意思
return false;
}
public static void main(String[] args) {
Hello hello = new Hello();
hello.hello();
}
}
log4j2 配置
log4j2完全采用 xml或json进行配置
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
<File name="log" fileName="log/test.log" append="true">
<PatternLayout
pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n" />
</File>
<RollingFile name="RollingFile" fileName="logs/app.log"
filePattern="log/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout
pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n" />
<SizeBasedTriggeringPolicy size="50MB" />
</RollingFile>
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="Console" />
<Appender-ref ref="RollingFile" />
<Appender-ref ref="log" />
</Root>
</Loggers>
</Configuration>

6015

被折叠的 条评论
为什么被折叠?



