log4j日志输出配置

1.log4j的文件配置:

log4j.rootLogger = debug,stdout,I,E
#### 控制台打印 stdout:标准输出###
#log4j.appender.stdout = org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.Target = System.out
#log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
#log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

#### 输出到文件file info ###
log4j.logger.info=I
#log4j.appender.I = org.apache.log4j.DailyRollingFileAppender
log4j.appender.I =com.shopping.test.LogAppender
log4j.appender.I.append = true
log4j.appender.I.Threshold = INFO
log4j.appender.I.datePattern = ‘.‘yyyy-MM-dd‘.log‘
log4j.appender.I.MaxFileSize=100000KB
log4j.appender.I.layout = org.apache.log4j.PatternLayout
log4j.appender.I.File = ${catalina.home}/logs_dk/info.log
log4j.appender.I.layout.ConversionPattern = [%-5p]_%d{yyyy-MM-dd HH:mm:ss} %c - %m%n
log4j.appender.I.encoding=UTF-8

### 记录error 级别的日志###
log4j.logger.error=E
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.datePattern = ‘.‘yyyy-MM-dd‘.log‘
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
#log4j.appender.E.File =/home/logs/error.log
#log4j.appender.E.File =F:\\logs\\dk\\error.log
log4j.appender.E.File = ${catalina.home}/logs_dk/error.log
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

2. 重写一个方法类制定自己的输出

package com.shopping.test;

import org.apache.log4j.DailyRollingFileAppender;
import org.apache.log4j.Priority;

public class LogAppender extends DailyRollingFileAppender {
    @Override
    public boolean isAsSevereAsThreshold(Priority priority) {
        // 只判断是否相等,不判断优先级
        return this.getThreshold().equals(priority);
    }
}

我重写这个方法是在info 文件输出时候,过滤输出非Info级别的日志

3.在项目中:

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

  //logger.info("今日管理");
  //logger.error("今日管理出错");

这样就可以在自己定义的输出位置找要输出的日志文件了

原文地址:https://www.cnblogs.com/wyf-love-dch/p/11090508.html

时间: 2024-10-10 01:13:36

log4j日志输出配置的相关文章

log4j日志输出到日志文件中和控制台中 +log4j配置详解

1.引入log4j的jar包 https://mvnrepository.com/,可以找到log4j的jar和依赖. 2.创建log4j.properties,并配置log4j #设置日志的级别 ,多个以,分开(没有给出的,则不会被输出) log4j.rootLogger=debug,A,R # log4j.appender.logfile.encoding=UTF-8 #DailyRollingFileAppender每天产生一个日志文件 log4j.appender.R=org.apach

log4j日志基本配置

Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置. 1.Loggers Loggers组件在此系统中被分为五个级别:DEBUG.INFO.WARN.ERROR和FATAL.这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR < FATAL,分别用

log4j日志输出到web项目指定文件夹

感谢 eric2500 的这篇文章:http://www.cxyclub.cn/n/27860/ 摘要:尝试将log4j的文件日志输出到web工程制定目录,遇到了很多问题,最终在eric2500的指导下搞定,下面是记录. 其原理在于log4j的配置文件支持服务器的vm的环境变量,如${oss.log4j.path},在log4j加载配置文件之前,先用 System.setProperty("","")设置好日志文件路径,这一操作通过一个初始的servlet来实现.

Log4j -日志的配置

配置过程: 导入的jar包: slf4j-api-1.7.6.jar slf4j-log4j12-1.7.6.jar log4j.properties log4j.rootLogger= DEBUG,stdout,D1 log4j.rootLogger=INFO,stdout,E log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender

Mybatis下log4j日志输出不正常的解决办法 ,很实用哦 !!!!

使用Mybatis的时候,有些时候能输出(主要是指sql,参数,结果)日志.有些时候就不能. 无法输出日志的时候,无论怎么配置log4j,不管是properties的还是xml的,都不起作用. 有些时候,我们没做什么配置就能输出日志.... 这是一个让无数人烦躁的问题.其实解决问题很容易(我过了这么久才解决,以前都用拦截器输出). 这是一个普大喜奔的日子,让我们一起来看看如何解决mybatis的日志问题. 为什么说这个问题很容易解决呢?因为mybatis的文档写的很清楚. 为什么我们都没找到解决

web项目Log4j日志输出路径配置问题

问题描述:一个web项目想在一个tomcat下运行多个实例(通过修改war包名称的实现),然后每个实例都将日志输出到tomcat的logs目录下实例名命名的文件夹下进行区分查看每个实例日志,要求通过尽可能少的改动配置文件,最好修改实例名后可以不修改log4j的配置文件. 实现分析:一般实现上面需求,需要在修改完war包名称之外要再做下面配置: 1.修改每个实例名下web.xml中参数webAppRootKey为不同值.同一个tomcat下运行多个web应用时,该值相同的话,运行时会抛异常. <c

log4j日志输出使用_1

转自https://www.cnblogs.com/sky230/p/5759831.html Log4j是帮助开发人员进行日志输出管理的API类库.它最重要的特点就可以配置文件灵活的设置日志信息的优先级.日志信息的输出目的地以及日志信息的输出格式.Log4j除了可以记录程序运行日志信息外还有一重要的功能就是用来显示调试信息.很多程序员经常会使用System.out.println语句输出某个变量值的方法进行调试.这样会带来一个非常麻烦的问题:一旦哪天程序员决定不要显示这些System.out.

log4j日志的配置

在项目开发中,记录错误日志方便调试.便于发现系统运行过程中的错误.便于后期分析, 在java中,记录日志有很多种方式,比如说log4j log4j需要导入的包: commons-loggin.jar log4j.jar 修改配置文件 在log4j.properties写入 ### 设置级别和目的地(这里多个目的地) ###log4j.rootLogger = DEBUG,CONSOLE,zhangsanLog### 这里的me是包,也就是在这个包记录日志时,是只记录debug及以上级别的日志lo

Spring MVC中 log4j日志文件配置相对路径

log4j和web.xml配置webAppRootKey 的问题 1 在web.xml配置 <context-param>  <param-name>webAppRootKey</param-name>  <param-value>web.sample.root</param-value></context-param> 可以用System.getProperty("web.sample.root")来获取属性值.