log4j的配置文件介绍

来源:互联网 发布:网络菜市场 编辑:程序博客网 时间:2024/06/07 10:49
使用Log4j的优势(Log For Java)
  • 专门为Java项目提供日志工具
  • Log4j目标:可以将日志同时写到控制台、文件数据库、发邮件、调用网络接口接口等多个不用的地方。
  • Log4j还提供日志级别可以区分日志的重要性,对不同级别的日志可以传输到不用的地方或者平时忽略掉不重要的日志,当系统出现而难题时,还可以在不重启服务器的情况下将平时忽略掉的信息全部开启。
  • log4j2:会从WEB-INF中查找名字为log4j2.xml的配置文件。
  • 在配置文件中,<configuration status属性是log4j2自己内部使用的 logger 的日志输出界别。如果想让log4j 将自己内部的日志信息打印出来,需要将status的级别设置低一些,以便找到log4j自己的错误信息
  • 日志级别
    • Fatal:最高级,表示致命错误,当程序遇到这种错误时,无法恢复执行,接下来就会崩溃
      • logger.fatal("致命错误的详细信息i")
    • Error:错误级,部落到异常时,通过这个级别输出
      • logger.error("错误消息",exception)
    • warn:警告级,当程序执行时,遇到不应该执行的代码或不应该出现情况时,通过这个级别输出
      • 比如,Pager类中total = 0 时,
      • logger.warn("警告信息")
    • Info:消息/数据级,输出一些业务数据,向外部提供数据信息
    • Debug:调试级,输出程序执行过程中的关键数据(更详细的数据,甚至是方法内部的局部变量或参数的值)目的是方便查找bug
    • trace:跟踪级,输出更加详细的信息,最细致信息,通过Trace信息可以看到程序执行的每一个步骤,及程序当前所处的状态细节
  • logger的声明:
  • logger的Fatal用法
  • logger的Error用法
  • logger的warn用法
  • logger的Info用法
  • logger的Debug用法
  • logger的trace用法
<?xmlversion="1.0"encoding="UTF-8"?>
<!--status :log4j 内部的日志级别 monitorInterval:检查配置是否被修改的时间间隔 -->
<configurationstatus="trace"monitorInterval="3">
    <!--配置日志追加功能,将日志追加到控制台或文件里面 -->
    <appenders>
       <!-- 配置控制台输出的日志内容 -->
       <Consolename="Console"target="SYSTEM_OUT">
           <!--控制日志级别 -->
           <ThresholdFilterlevel="trace"onMatch="ACCEPT"  onMismatch="DENY"/>
           <!--定义了输出的错误信息的格式和 内容 -->
           <PatternLayoutpattern="%d{HH:mm:ss.SSS} %-5level %C %L %M - %msg%xEx%n" />
           
       </Console>
       <!-- 控制日志文件的存储位置和大小控制 -->
       <RollingFilename="RollingFile"fileName="${web:rootDir}/logs/app.log"filePattern="${web:rootDir}/logs/$${date:yyyy-MM-dd}/app-%d{yyyy-MM-dd}-%i.log">
           <!-- 日志文件的内容和格式控制 -->
           <PatternLayoutpattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %C %L %M - %msg%xEx%n" />
           <!-- 大小控制 -->
           <SizeBasedTriggeringPolicysize="100KB"/>
       </RollingFile>
       
    </appenders>
    
<!-- 日志记录器 -->
    <loggers>
       <!-- 日志记录的根节点,默认的记录器,此处可配置多个记录器,这里只配置了 Console、  RollingFile -->
       <rootlevel="trace">
           <appender-refref="RollingFile"/>
           <appender-refref="Console"/>
       </root>
    </loggers>
</configuration>
原创粉丝点击