java服务器编程——log4j日志

一、引入log4j包

对于mvn构建的java工程,在pom.xml文件中引入如下配置:

<dependency>
    <groupId>log4jgroupId>
    <artifactId>log4jartifactId>
    <version>1.2.16version>
dependency>

二、配置log4j.xml文件

log4j.xml文件放在工程的资源目录下,配置如下所示:






<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    
    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            
            <param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
        layout>
    appender>

    
    
    <appender name="TEST_LOG4J_FILE" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="./logs/test_log4j.log"/>
        
        <param name="Append" value="true"/>
        <param name="MaxFileSize" value="600MB"/>
        
        <param name="DatePattern" value="'.'yyyy-MM-dd"/>
        <param name="Threshold" value="DRROR"/>
        
        <param name="Encoding" value="GBK"/>
        
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %-5p [%c{1}] %m%n"/>
        layout>
    appender>

    
    <category name="com.company.TestLog4j">
        <priority value ="ERROR" />
        <appender-ref ref="TEST_LOG4J_FILE"/>
    category>


    
    <root>
        <priority value="ALL"/>
        <appender-ref ref="STDOUT"/>
    root>

    
log4j:configuration>

有两篇介绍log4j的博客,感觉非常全面:
地址1:http://blog.chinaunix.net/uid-26284395-id-3046712.html
地址2: http://my.oschina.net/exit/blog/182445

三、输出日志

在需要输出日志的类中,引入log4j库,就可以打印日志了,如下:

package com.company;

import org.apache.log4j.Level;
import org.apache.log4j.Logger;

public class TestLog4j {

    private static Logger logger = Logger.getLogger(TestLog4j.class);

    public static void main(String[] args) {
        if (logger.isInfoEnabled()) {
            // 如果日志内容比较复杂的话,可以通过这种判断,提升效率
            logger.info("this is a info msg");
            System.out.print("info...");
        }
        if (logger.isDebugEnabled()) {
            logger.debug("this is a debug msg");
            System.out.print("debug...");
        }
        if (logger.isEnabledFor(Level.ERROR)) {
            logger.error("this is a error msg");
            System.out.print("error...");
        }
        if (logger.isEnabledFor(Level.WARN)) {
            logger.warn("this is a warn msg");
            System.out.print("warn...");
        }
    }
}

根据上面log4j.xml中的配置,日志信息将输出到/logs/test_log4j.log文件中。

你可能感兴趣的:(java服务器端编程)