欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

slg+log4j配置 博客分类: log log4jjava配置日志输出 

程序员文章站 2024-03-18 16:26:46
...

JAVA程序离不开日志的支持,特别是生成环境服务器,查问题的时候更是离不开日志的支持,现将slf+log4j整合到spring框架中的配置写一下:

项目结构如下:


slg+log4j配置
            
    
    博客分类: log log4jjava配置日志输出 
 

一、在web.xml中添加log4j的配置文件和监听器

<context-param>

  <param-name>log4jConfigLocation</param-name>

  <param-value>classpath:resources/log4j.properties</param-value>

</context-param>

<listener>  

        <listener-class>  

            org.springframework.web.util.Log4jConfigListener  

        </listener-class>  

 </listener>

 

二、设置log4j配置文件,位置src/resources/log4j.properties,内容如下:

log4j.rootLogger=DEBUG,stdout,InfoFile,ErrorFile

 

#kong zhi tai shu chu she ding

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.Threshold=DEBUG

log4j.appender.stdout.layout.ConversionPattern=Log4j:[%d{yyyy-MM-dd HH:mm:ss}] %5p %c{1}:%L - %m%n

 

#info 

log4j.appender.InfoFile=org.apache.log4j.DailyRollingFileAppender

log4j.appender.InfoFile.Threshold=DEBUG

log4j.appender.InfoFile.file=${catalina.base}/logs/activitiLogs/InfoFile.log

log4j.appender.InfoFile.DatePattern='.'yyyy-MM-dd

log4j.appender.InfoFile.layout=org.apache.log4j.PatternLayout

log4j.appender.InfoFile.layout.ConversionPattern=Log4j:[%d{yyyy-MM-dd HH:mm:ss}] %5p %c{1}:%L - %m%n

 

#error

log4j.appender.ErrorFile=org.apache.log4j.DailyRollingFileAppender

log4j.appender.ErrorFile.Threshold=Error

log4j.appender.ErrorFile.File=${catalina.base}/logs/activitiLogs/ErrorFile.log

log4j.appender.ErrorFile.DatePattern='.'yyyy-MM-dd

log4j.appender.ErrorFile.layout=org.apache.log4j.PatternLayout

log4j.appender.ErrorFile.layout.ConversionPattern=Log4j:[%d{yyyy-MM-dd HH:mm:ss}] %5p %c{1}:%L - %m%n

 

配置中主要设置了控制台、info日志文件和error日志文件的产出:
控制台:输出Debug及以上的日志信息

info、error日志文件:

输出DEBUG及以上日志信息;

每天产生一个新的日志文件;

${catalina.base}表示tomcat服务器根目录(bin文件夹和conf文件夹的父目录);

eclipse中直接启动Tomcat插件服务,则日志输出在workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp3\logs\activitiLogs(tmp3是会改变的,规律是tmp*);

info级别的只会输入在InfoFile.log文件中,error级别的日志会同时出现在InfoFile.log和errorFile.log文件中;

 

配置文件还可以设置单个类产生的日志信息单独输出到一个日志文件中,此处没有进行这么细致的配置,仅仅简单的根据级别区分了一下

 

三、java代码中调用

 

package com.pb.modult.admin.biz.service;

 

import org.apache.log4j.Logger;

import org.apache.log4j.spi.LoggerFactory;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

 

import com.pb.modult.admin.biz.bo.AdminBO;

/**

 * 管理员

 * @author Administrator

 *

 */

@Service

public class AdminService {

@Autowired

private AdminBO adminBO;

 

Logger logger = Logger.getLogger(AdminService.class);

 

org.slf4j.Logger logger2 = org.slf4j.LoggerFactory.getLogger("InfoFile");

 

public void login(){

logger.info("info日志");

logger.error("error日志");

logger2.debug("debug日志,主键{}", "主键值");

}

}

 

slf可以设置占位符直接进行字符串的拼接

 

 

  • slg+log4j配置
            
    
    博客分类: log log4jjava配置日志输出 
  • 大小: 22.6 KB