为不同的 Appender 设置日志输出级别:

2024-02-29 05:58

本文主要是介绍为不同的 Appender 设置日志输出级别:,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

例子:http://blog.csdn.net/seakingwy/archive/2006/10/30/1357276.aspx

Log4J配置

2008/12/02

一.log4j

简单的说log4j就是帮助开发人员进行日志输出管理的API类库。它最重要的特点就

是可以配置文件灵活的设置日志信息的优先级、日志信息的输出目的地以及日志信息的输出格式。

Log4j除了可以记录程序运行日志信息外还有一重要的功能就是用来显示调试信息。程序员经常会遇到脱离java ide环境调试程序的情况,这时大多数人会选择使用System.out.println语句输出某个变量值的方法进行调试。这样会带来一个非常麻烦的问题:一旦哪天程序员决定不要显示这些System.out.println的东西了就只能一行行的把这些垃圾语句注释掉。若哪天又需调试变量值,则只能再一行行去掉这些注释恢复System.out.println语句。使用log4j可以很好的处理类似情况。

二.log4j使用方法

1、定配置文件

  首先使用配置文件将使我用程序更加灵活配置log日志出方式包括出目的地、出格式。Log4j支持两配置文件格式,一XML格式的文件,一Java特性文件log4j.properties=)。下面将介使用log4j.properties文件作配置文件的方法:

1配置根Logger,其

 log4j.rootLogger = [ level ] , appenderName, appenderName,

 其中,level 是日志记录,分OFFFATALERRORWARNINFODEBUGALL或者自定级别Log4j只使用四个级别从高到低分ERROR>WARN>INFO>DEBUG。通里定级别,您可以控制到用程序中相应级别的日志信息的开关。比如在里定INFO级别则应用程序中所有DEBUG级别的日志信息将不被打印出来。 appenderName就是指定日志信息出到哪个地方。可同指定多个出目的地

例:log4j.rootCategory=INFO,stdout,Runlog,Errorlog 日志类别为INFODEBUG将被屏蔽,其他的将被出。 stdout,Runlog,Errorlog别为3出目的地

2、常用出格式

-X:X信息对齐
%p:
日志信息级别
%d{}:
日志信息时间
%c:
日志信息所在地(名)
%m:
生的日志具体信息
%n:
出日志信息

例:
log4j.appender.stdout.layout.ConversionPattern= %5p %d{yyyy-MM-dd HH:mm:ss} %c %m %n
log4j.appender.Runlog.layout.ConversionPattern= %5p %d{yyyy-MM-dd HH:mm:ss} %c %m %n
log4j.appender.Errorlog.layout.ConversionPattern= %5p %d{yyyy-MM-dd HH:mm:ss} %c %m %n

3.目的地

配置日志信息输出目的地Appender,其
log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = value1
...
log4j.appender.appenderName.option = valueN
appenderName
就是指定日志信息出到哪个地方。您可以同指定多个出目的地。

log4j支持的出目的地:
org.apache.log4j.ConsoleAppender
控制台
org.apache.log4j.FileAppender
文件
org.apache.log4j.DailyRollingFileAppender
生一个日志文件
org.apache.log4j.RollingFileAppender
(文件大小到达指定尺寸的生一个新的文件),
org.apache.log4j.WriterAppender
(将日志信息以流格式送到任意指定的地方)
org.apache.log4j.net.SMTPAppender

org.apache.log4j.jdbc.JDBCAppender
数据
其他如:GUI件、甚至是套接口服器、NT的事件记录器、UNIX Syslog护进程等

例:
出到控制台
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
(指定出到控制台)
log4j.appender.Threshold=DEBUG
(指定类别
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
(指定出布局)
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
(指定出格式)

出到文件(轮换"日志文件",当日志文件达到指定大小文件就被关闭份,然后建一个新的日志文件)

log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender(指定出到文件)
log4j.appender.ROLLING_FILE.Threshold=ERROR
(指定类别
log4j.appender.ROLLING_FILE.File=
D:\logs\rolling.log(指定出的路径及文件名)
log4j.appender.ROLLING_FILE.MaxFileSize=10KB
(指定出到文件的大小)
log4j.appender.ROLLING_FILE.MaxBackupIndex=1
*
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
(指定采用出布局)
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
(指定采用出格式)

2. 在要出日志的类(Hello.java中加入相关语句:

1入所有需的commongs-logging
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

2
、在自己的中定一个org.apache.commons.logging.Log的私有静态类
private final Log log = LogFactory.getLog(getClass());

LogFactory.getLog()
方法的参数使用的是当前class例如:hello.class

3.然后在方法中记录日志:

if (log.isInfoEnabled())
{
log.info("
welcome
");
}

问题: 利用springconsol:::e打印出log4j:WARN Please initialize the log4j system properly

解决:说明你log4j.properties没有配置。log4j.properties放到工程的classpath中,eclipseclasspathbin,由于编译src下的文件会拷bin下,所以你可以把log4j.properties放到src

*当存的文件数目超maxBackupIndex+1,会除最早生成的文件,整个文件数目等于maxBackupIndex+1

这篇关于为不同的 Appender 设置日志输出级别:的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/757784

相关文章

C#TextBox设置提示文本方式(SetHintText)

《C#TextBox设置提示文本方式(SetHintText)》:本文主要介绍C#TextBox设置提示文本方式(SetHintText),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录C#TextBox设置提示文本效果展示核心代码总结C#TextBox设置提示文本效果展示核心代

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

golang 日志log与logrus示例详解

《golang日志log与logrus示例详解》log是Go语言标准库中一个简单的日志库,本文给大家介绍golang日志log与logrus示例详解,感兴趣的朋友一起看看吧... 目录一、Go 标准库 log 详解1. 功能特点2. 常用函数3. 示例代码4. 优势和局限二、第三方库 logrus 详解1.

PyCharm如何设置新建文件默认为LF换行符

《PyCharm如何设置新建文件默认为LF换行符》:本文主要介绍PyCharm如何设置新建文件默认为LF换行符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录PyCharm设置新建文件默认为LF换行符设置换行符修改换行符总结PyCharm设置新建文件默认为LF

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在