美文网首页
在xml中创建日志的模板

在xml中创建日志的模板

作者: 清风乀月 | 来源:发表于2019-09-16 16:50 被阅读0次

log4j2.xml日志模板

<?xml version="1.0" encoding="UTF-8"?>
<configuration status="warn">
  <Properties>
    <!-- 配置日志文件输出目录,此配置将日志输出到tomcat根目录下的指定文件夹-->
    <Property name="LOG_HOME">/logs</Property>
    <!-- 日志输出格式 -->
    <Property name="LOG_PATTERNLAYOUT">%d{yyyy-MM-dd HH:mm:ss}  %t  %C{1}  %-30M  %m%n</Property>
  </Properties>

  <Appenders>

    <!-- 控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch),当前只输出TRACE,DEBUG,INFO 三种 -->
    <!-- 输出日志的格式 -->

    <Console name="console_out_appender" target="SYSTEM_OUT">
      <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
      <PatternLayout pattern="${LOG_PATTERNLAYOUT}"/>
    </Console>

    <!--这个输出控制台的配置,这里输出WARN,ERROR,FATAL 级别的信息到System.err,在eclipse控制台上看到的是红色文字 -->
    <Console name="console_err_appender" target="SYSTEM_ERR">
      <!--  控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
      <ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
      <!--  输出日志的格式 -->
      <PatternLayout pattern="${LOG_PATTERNLAYOUT}"/>
    </Console>

    <!-- INFO级别日志 -->
    <RollingRandomAccessFile name="info_appender" immediateFlush="true" fileName="${LOG_HOME}/info.log" filePattern="${LOG_HOME}/info/info - %d{yyyy-MM-dd HH_mm_ss}.log">
      <PatternLayout pattern="${LOG_PATTERNLAYOUT}"/>
      <Policies>
        <SizeBasedTriggeringPolicy size="2MB"/>
      </Policies>
      <Filters>
        <ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/>
        <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
      </Filters>
    </RollingRandomAccessFile>

    <!-- ERROR级别日志 -->
    <RollingRandomAccessFile name="error_appender" immediateFlush="true" fileName="${LOG_HOME}/error.log" filePattern="${LOG_HOME}/error/error - %d{yyyy-MM-dd HH_mm_ss}.log">
      <PatternLayout pattern="${LOG_PATTERNLAYOUT}"/>
      <Policies>
        <SizeBasedTriggeringPolicy size="2MB"/>
      </Policies>
      <Filters>
        <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
      </Filters>
    </RollingRandomAccessFile>
  </Appenders>

  <Loggers>
    <!-- 配置日志的根节点 -->
    <root level="trace">
      <appender-ref ref="console_out_appender"/>
      <appender-ref ref="console_err_appender"/>
      <appender-ref ref="info_appender"/>
      <appender-ref ref="error_appender"/>
    </root>

    <!-- 第三方日志系统 -->
    <logger name="org.springframework.core" level="warn"/>
    <logger name="org.springframework.beans" level="warn"/>
    <logger name="org.springframework.context" level="warn"/>
    <logger name="org.springframework.web" level="warn"/>
    <logger name="org.jboss.netty" level="warn"/>
    <logger name="org.apache.http" level="warn"/>

  </Loggers>

</configuration>

日志工具类

public class Log4j2Utils {
    public Log4j2Utils() {
    }

    public static void log(Class c, String functionName, String valueName, Object value) {
        Logger logger = Logger.getLogger(c.getName());
        Map<String, Object> result = new HashMap();
        result.put("日志函数", functionName);
        result.put("对象名", valueName);
        if (value != null) {
            result.put("对象值", JSONUtils.toJson(value));
        } else {
            result.put("对象值", Log4j2Enum.NULL.value());
        }

        logger.info(result.toString());
    }
}

相关文章

网友评论

      本文标题:在xml中创建日志的模板

      本文链接:https://www.haomeiwen.com/subject/clzjyctx.html