日志文件按文件名,按天生成

<?xml version="1.0" encoding="UTF-8"?>

<Configuration status="warn" name="MyApp" packages="">

<Appenders>

<Console name="Console" target="SYSTEM_OUT">

<PatternLayout pattern="[%d{HH:mm:ss.SSS}] [%-5level] [%l] -  %msg%xEx%n" />

</Console>

<Syslog name="RFC5424" format="RFC5424" host="10.0.7.167" port="514"

protocol="UDP" appName="record" mdcId="mdc" includeMDC="true"

facility="LOCAL0" enterpriseNumber="18060" newLine="true" messageId="Audit"

id="App">

</Syslog>

<!--这个会打印出所有的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档 -->

<RollingFile name="gameserver" fileName="./log/gameserver.log"

append="false" filePattern="./logs/$${date:yyyy-MM}/record-%d{yyyy-MM-yyyy}-%i.log.gz">

<PatternLayout

pattern="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%l]  - %msg%xEx%n" />

<SizeBasedTriggeringPolicy size="50MB" />

<ThresholdFilter level="debug">

</ThresholdFilter>

</RollingFile>

<RollingFile name="error" fileName="./log/error.log"

filePattern="./log/%d{yyyyMMddHHmm}error.log">

<PatternLayout

pattern="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%l]  - %msg%xEx%n" />

<SizeBasedTriggeringPolicy size="30MB" />

<ThresholdFilter level="error">

</ThresholdFilter>

</RollingFile>

<RollingFile name="rcd" fileName="./log/rcd.log"

filePattern="./log/%d{yyyyMMdd}rcd.log">

<PatternLayout

pattern="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%l]  - %msg%xEx%n" />

<ThresholdFilter level="info">

</ThresholdFilter>

<Policies>

<TimeBasedTriggeringPolicy interval="1"

modulate="true" />

</Policies>

</RollingFile>

</Appenders>

<Loggers>

<Root level="trace">

<AppenderRef ref="Console" />

</Root>

<Logger name="LOG">

<AppenderRef ref="RFC5424" />

<AppenderRef ref="gameserver" />

<AppenderRef ref="error" />

</Logger>

<Logger name="rcd">

<AppenderRef ref="RFC5424" />

<AppenderRef ref="rcd" />

</Logger>

</Loggers>

</Configuration>

public static Logger getLogger(Class clazz) {

return LogManager.getContext(clazz.getClassLoader(), false).getLogger("LOG");

}

public static Logger getLogger1(Class clazz) {

return LogManager.getContext(clazz.getClassLoader(), false).getLogger("rcd");

}

public static void main(String[] args) {

while (true) {

getLogger(MyLogger.class).error("error");

getLogger(MyLogger.class).warn("warn");

getLogger(MyLogger.class).info("info");

getLogger(MyLogger.class).debug("debug");

getLogger1(MyLogger.class).warn("rcdwarn");

getLogger1(MyLogger.class).info("rcdinfo");

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

猜你喜欢

转载自u011820505.iteye.com/blog/2298998