• log4j日志记录

    普通类
    • 支持
    • 批判
    • 提问
    • 解释
    • 补充
    • 删除
    • log4j简介

         Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。我们可以通过简单的配置文件来记录各种日志

    • 1.配置

    1.创建储存日志的文件夹,如d:/logs, 在linux环境下要设置linux的目录,如/var/infosystem/logs

    2.创建配置文件

    在项目根目录下创建log4j.xml(和src同一个目录),log4j.xml的优先级貌似比log4j.properies的权限要高

    3.配置文件内容

    1. <?xml version="1.0" encoding="UTF-8" ?>  
    2. <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">  
    3.   
    4. <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">  
    5.     <!--log4j.xml 配置文件 优先于 log4j.properties 配置文件-->  
    6.       
    7.     <!-- 输出到控制台  -->  
    8.     <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">  
    9.         <layout class="org.apache.log4j.PatternLayout">  
    10.             <param name="ConversionPattern"  
    11.                 value="[%d{yyyy-MM-dd HH:mm:ss}] [%c] [%L] %p [%m]%n"/>  
    12.         </layout>  
    13.     </appender>  
    14.       
    15.     <appender name="logdebug" class="org.apache.log4j.DailyRollingFileAppender">     
    16.         <param name="Threshold" value="DEBUG" />  
    17.         <param name="encoding" value="UTF-8" />  
    18.         <param name="File" value="D:/ontology/logs/debug.log" />     
    19.         <param name="DatePattern" value="'debug_'yyyy-MM-dd'.log'" />     
    20.         <layout class="org.apache.log4j.PatternLayout">     
    21.             <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss}] [%c] [%L] %p [%m]%n" />     
    22.         </layout>     
    23.     </appender>  
    24.       
    25.     <!-- 输出到日志文件 每天一个日志  -->  
    26.     <appender name="loginfo" class="org.apache.log4j.DailyRollingFileAppender">     
    27.         <param name="Threshold" value="INFO" />  
    28.         <param name="encoding" value="UTF-8" />  
    29.         <param name="File" value="D:/ontology/logs/info.log" />     
    30.         <param name="DatePattern" value="'info_'yyyy-MM-dd'.log'" />     
    31.         <layout class="org.apache.log4j.PatternLayout">     
    32.             <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss}] [%c] [%L] %p [%m]%n" />     
    33.         </layout>     
    34.     </appender>  
    35.       
    36.     <appender name="logerror" class="org.apache.log4j.DailyRollingFileAppender">  
    37.         <param name="Threshold" value="ERROR" />  
    38.         <param name="encoding" value="UTF-8" />  
    39.         <param name="File" value="D:/ontology/logs/error.log" />     
    40.         <param name="DatePattern" value="'error_'yyyy-MM-dd'.log'" />     
    41.         <layout class="org.apache.log4j.PatternLayout">     
    42.             <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss}] [%c] [%L] %p [%m]%n" />     
    43.         </layout>     
    44.     </appender>  
    45.   
    46.     <logger name="org.apache">  
    47.         <level value="WARN"/>  
    48.     </logger>  
    49.   
    50.     <!-- 关闭某些包下的日志输出 -->  
    51.     <logger name="org.hibernate">  
    52.         <level value="OFF"/>        
    53.     </logger>  
    54.     <logger name="org.springframework">  
    55.         <level value="OFF"/>        
    56.     </logger>  
    57.       
    58.       
    59.      
    60.    <!-- 日志的总开关设置 包括日志级别和 appender  -->  
    61.     <root>  
    62.         <level value="DEBUG"/>  
    63.         <!-- <appender-ref ref="logdebug"/> -->  
    64.         <appender-ref ref="loginfo"/>  
    65.         <appender-ref ref="logerror"/>  
    66.     </root>  
    67.   
    68. </log4j:configuration>  

    log4j.xml

    4.代码测试

    1. import org.slf4j.Logger;  
    2. import org.slf4j.LoggerFactory;  
    3. public class Log4jTest {  
    4.     //为类Log4jTest创建日志,  
    5.     private static Logger logger = LoggerFactory.getLogger(Log4jTest.class);  
    6.     public static void main(String[] args) {  
    7.         System.out.println("准备执行log4j");  
    8.         logger.info("这是个info信息");  
    9.         logger.error("这是个错误信息");  
    10.     }  
    11. }  
    • 标签:
    • conversionpatternvalue
    • 记录
    • utf-8
    • 创建
    • 配置文件
    • paramname
    • org.apache.log4j.patternlayoutparamname
    • 1.
    • logs
    • 日志
    • log4j
  • 加入的知识群:
    学习元评论 (0条)

    评论为空
    聪明如你,不妨在这 发表你的看法与心得 ~



    登录之后可以发表学习元评论
      
暂无内容~~
顶部