码迷,mamicode.com
首页 > 其他好文 > 详细

简明log4j配置教程

时间:2017-09-13 13:12:03      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:常用   sed   换行   att   系统日志   ring   xmlns   user   级别   

先准备好log4j需要对应的开发包:

apache-log4j-extras-1.2.17.jar

slf4j-api-1.6.1.jar

slf4j-log4j12-1.6.1.jar

然后就是在项目中准备一个log4j.xml开发文件:

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j=‘http://jakarta.apache.org/log4j/‘>
    <!-- appender -->
    <!-- STDOUT -->
    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %p [%c] - %m%n" />
        </layout>
    </appender>

    <!-- 设置按天滚动方式生成日志文件 -->
    <!-- 将日志写到文件中 -->
    <appender name="biFormat" class="org.apache.log4j.rolling.RollingFileAppender">
    <!-- 设置日志编码 -->
        <param name="Encoding" value="UTF-8" />
        <!-- 设置按天滚动方式生成日志文件 -->
        <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
            <param name="FileNamePattern" value="/opt/test/log/bi_%d{yyyyMMdd}.log" />
        </rollingPolicy>
        <!-- 设置日志内容格式  -->
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{yyyy/MM/dd HH:mm:ss.SSS} [%F.%L]: %m [%t]%n" />
        </layout>
    </appender>
    
    <!-- 设置按天滚动方式生成日志文件 -->
    <!-- 将日志写到Linux系统日志中 -->
    <appender name="syslogger" class="org.apache.log4j.net.SyslogAppender">
    <!-- 设置阈值为ERROR级别,低于ERROR级别的日志将不会写入到系统中 -->
        <param name="Threshold" value="ERROR" />
        <param name="SyslogHost" value="192.168.172.140" />
        <param name="Facility" value="USER" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="bitool[%F.%L]: %m[%t]%n" />
        </layout>
    </appender>

    <!-- 设置logger日志名称,在程序中引用 -->
    <logger name="logfile">
        <!-- 设置日志级别为DEBUG级别 -->
        <level value="debug" />
        <appender-ref ref="biFormat" />
        <appender-ref ref="syslogger" />
    </logger> 
</log4j:configuration>

技术分享

 

关于上面日志格式常用占位符解释:

%d: 当前时间,如果要指定格式,则可以yyyy MM dd HH mm ss SSS 代表 年、月、日、时、分、秒、毫秒

%F: 日志所在代码所在文件

%L: 日志所在的行数

%m: 消息主体

%t: 程序所在线程

%n: 换行

%p: 当前日志级别

 

示例程序代码:

package org.lyk.action;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;


@Controller
@RequestMapping("/test/*")
public class Test
{
    private Logger logger = LoggerFactory.getLogger("logfile");
    @RequestMapping("testDemo")
    public ModelAndView testDemo(String msg)
    {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
        logger.info("This is for log file " + sdf.format(new Date()));
        logger.error("This is for sys log file " + sdf.format(new Date()));
        return new ModelAndView("/index.jsp");
    }
}

 

输出效果

日志文件:

技术分享

Linux syslog:

技术分享

程序代码:

package org.lyk.action;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;


@Controller
@RequestMapping("/test/*")
public class Test
{
    private Logger logger = LoggerFactory.getLogger("logfile");
    @RequestMapping("testDemo")
    public ModelAndView testDemo(String msg)
    {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
        logger.info("This is for log file " + sdf.format(new Date()));
        logger.error("This is for sys log file " + sdf.format(new Date()));
        return new ModelAndView("/index.jsp");
    }
}

 

https://pan.baidu.com/s/1kVghs83

欢迎加入QQ群参与讨论. 422683877

技术分享

 

简明log4j配置教程

标签:常用   sed   换行   att   系统日志   ring   xmlns   user   级别   

原文地址:http://www.cnblogs.com/kuillldan/p/7514111.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!