为不同的 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

相关文章

PostgreSQL 默认隔离级别的设置

《PostgreSQL默认隔离级别的设置》PostgreSQL的默认事务隔离级别是读已提交,这是其事务处理系统的基础行为模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一 默认隔离级别概述1.1 默认设置1.2 各版本一致性二 读已提交的特性2.1 行为特征2.2

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

mtu设置多少网速最快? 路由器MTU设置最佳网速的技巧

《mtu设置多少网速最快?路由器MTU设置最佳网速的技巧》mtu设置多少网速最快?想要通过设置路由器mtu获得最佳网速,该怎么设置呢?下面我们就来看看路由器MTU设置最佳网速的技巧... 答:1500 MTU值指的是在网络传输中数据包的最大值,合理的设置MTU 值可以让网络更快!mtu设置可以优化不同的网

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

MySQL 设置AUTO_INCREMENT 无效的问题解决

《MySQL设置AUTO_INCREMENT无效的问题解决》本文主要介绍了MySQL设置AUTO_INCREMENT无效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录快速设置mysql的auto_increment参数一、修改 AUTO_INCREMENT 的值。

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

Golang 日志处理和正则处理的操作方法

《Golang日志处理和正则处理的操作方法》:本文主要介绍Golang日志处理和正则处理的操作方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录1、logx日志处理1.1、logx简介1.2、日志初始化与配置1.3、常用方法1.4、配合defer

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Ubuntu设置程序开机自启动的操作步骤

《Ubuntu设置程序开机自启动的操作步骤》在部署程序到边缘端时,我们总希望可以通电即启动我们写好的程序,本篇博客用以记录如何在ubuntu开机执行某条命令或者某个可执行程序,需要的朋友可以参考下... 目录1、概述2、图形界面设置3、设置为Systemd服务1、概述测试环境:Ubuntu22.04 带图

VSCode设置python SDK路径的实现步骤

《VSCode设置pythonSDK路径的实现步骤》本文主要介绍了VSCode设置pythonSDK路径的实现步骤,包括命令面板切换、settings.json配置、环境变量及虚拟环境处理,具有一定... 目录一、通过命令面板快速切换(推荐方法)二、通过 settings.json 配置(项目级/全局)三、