• Lo4j(一)初识


    最近开始在研究log4j,可能因为是想要自己去搭建框架那。

    废话不多说,先上一个例子好了。

    第一步:当然是引入对象的jar包了

    地址:http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.17/log4j-1.2.17.tar.gz

    第二步:代码

    package com.sun.test;
    
    import org.apache.log4j.Logger;
    import org.apache.log4j.xml.DOMConfigurator;
    
    /**
     * @author  szy 
     * @version 创建时间:2018-4-5 下午9:35:00
     * 
     */
    public class Test1 {
    
        private static Logger logger = Logger.getLogger(Test1.class);  
        
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            //读取使用Java的特性文件编写的配置文件
            
            logger.debug("[1]-my level is DEBUG 天");
            logger.info("[2]-my level is INFO");
            logger.warn("[3]-my level is WARN");
            logger.error("[4]-my level is ERROR");
        
        }
    
    }

    第三步:log4j.xml加入配置文件

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">    
    <log4j:configuration>
    
        <!-- 将日志信息输出到控制台 -->
         <appender name="stdout" class="org.apache.log4j.ConsoleAppender">
         <!--    设置日志输出的样式 -->
         
            <layout class="org.apache.log4j.PatternLayout">
              <!--   设置日志输出的格式 -->
               <!--  <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%-5p] [method:%l]%n%m%n%n" /> -->
            <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%-5p] %m%n"/>
            <param name="Threshold" value="info"></param>
            </layout>
           <!--  过滤器设置输出的级别 -->
    <!--         <filter class="org.apache.log4j.varia.LevelRangeFilter">
                设置日志输出的最小级别
                <param name="levelMin" value="DEBUG" />
                设置日志输出的最大级别
                <param name="levelMax" value="ERROR" />
                设置日志输出的xxx,默认是false
                <param name="AcceptOnMatch" value="true" />
            </filter> -->
        </appender>
        
        <!-- 输出日志到文件  每天一个文件 -->
         <appender name="logfile" class="org.apache.log4j.DailyRollingFileAppender">
            <param name="Threshold" value="info"></param>
            <!-- 设置日志信息输出文件全路径名 -->
            <param name="File" value="D:/log4j/logs/logFile.log" />
            <!--   设置日志以天为单位回滚一次,即产生一个新的日志文件 -->
            <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
           <!--  设置日志输出的样式 -->
            <layout class="org.apache.log4j.PatternLayout">
               <!--  设置日志输出的格式 -->
                <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%-5p] %m%n" />
            </layout>
        </appender>
        
         <!-- 输出日志到文件  文件大小到达指定尺寸的时候产生一个新的文件 --> 
        <!-- 将日志信息输出到文件,但是当文件的大小达到某个阈值的时候,日志文件会自动回滚 -->
        <appender name="railyFile" class="org.apache.log4j.RollingFileAppender">
            <!-- 设置日志信息输出文件全路径名 -->
            <param name="File" value="D:/log4j/logs/logFile2.log" />
     <!--        设置是否在重新启动服务时,在原有日志的基础添加新日志
            <param name="Append" value="true" /> -->
            <!-- 设置保存备份回滚日志的最大个数 -->
            <param name="MaxBackupIndex" value="10" />
          <!--   设置当日志文件达到此阈值的时候自动回滚,单位可以是KB,MB,GB,默认单位是KB -->
            <param name="MaxFileSize" value="10MB" />
           <!--  设置日志输出的样式 -->
            <layout class="org.apache.log4j.PatternLayout">
               <!--  设置日志输出的格式 -->
                <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%-5p] %m%n" />
            </layout>
        </appender>
    
    <root>
        <level value="debug" />
        <appender-ref ref="stdout"/>
        <appender-ref ref="logfile"/>
        <appender-ref ref="railyFile"/>
    </root>
    </log4j:configuration>
    

     之后运行,主程序,能在控制台和log文件里面看到所打印的信息,便说明成功了。

    这里会发现,其实并没有哪里去配置log对象去读取配置文件的。

  • 相关阅读:
    NLB网路负载均衡管理器详解
    Nginx配置详解
    Nginx代理功能与负载均衡详解
    .Net使用RabbitMQ详解
    说说面向服务的体系架构SOA
    .Net中的RealProxy实现AOP
    搭建自己的Nuget服务器
    VMware虚拟网络连接模式详解(NAT,Bridged,Host-only)
    JsonUtils
    Linux三剑客
  • 原文地址:https://www.cnblogs.com/sunxun/p/9058359.html
Copyright © 2020-2023  润新知