`
linpyi
  • 浏览: 62957 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

log的一些基本配置

阅读更多

今天看了一些log方面的东西.以前学过都忘记了...

 

首先如果自己写log,简单的用静态类就可以实现.那只是一些io上的操作,既然有现成的好用的框架,我们就使用咯...

 

首先commons-logging(jcl),是一个简单的log架包,提供一个日记的接口,同时又兼顾了其他日记的实现工具.他可以是一个

 

独立体也可以同时兼容其他的log(例如log4j).

 

JCL有两个基本的抽象类:Log(基本记录器)和LogFactory(负责创建Log实例)。

 

首先来说jcl的实现.

 

简单的方法,不需要配置文件,找到commons-logging-**.jar.把它加载到项目的classpath中.在你需要写日记的类中增加

 

private final Log log = LogFactory.getLog(getClass());

log.info("11111");
.....

 

 

这样的输出效果类似system.out.println("");当然这是最简单的方法..在项目初期你可以使用这种方法进行调试.

 

日记有些能动性,这方面log4j做的不错.很多的信息只需要在配置文件中修改,你可以看见的效果就完全不一样.

 

接着jcl整合log4j

 

JCL采用的记录器的不同其设置内容也不同。Log4J是默认首选记录器.

 

在classes同级目录创建一个commons-logging.properties

 

里面指定访问的记录器

 

org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger

 

当然这个配置文件针对log4j写与不写都没什么问题,最后你可以删除这个配置文件尝试下..

 

接着就是log4j的配置,配置文件有2种类型xml和properties,首先会寻找xml文件,没有的话寻找properties文件..

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
	<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern"
				value="[ocs] %d{ABSOLUTE} %5p %c{1}:%L - %m%n" />
		</layout>
	</appender>

	<appender name="file"
		class="org.apache.log4j.DailyRollingFileAppender"><!-- 按日期输出,直接输出的类为RollingFileAppender  -->
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern"
				value="[ocs] %d %-5p [%t] (%13F:%L) %3x - %m%n" />
		</layout>
		<param name="File" value="c:/tt.log" /><!-- 输出路径 -->
		<param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
	<!--	<param name="MaxBackupIndex" value="10" /> 最大数量为10个,对按日期输出没有效果(DailyRollingFileAppender) -->
		<param name="MaxFileSize" value="10000" /><!-- 设置最大值单位为B -->
		<param name="Append" value="true" /><!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
	</appender>

	<root><!-- 设置接收所有输出的通道 -->
		<priority value="info" /><!-- 输出等级 info,debug-->
		<!--<appender-ref ref="file" /> 与前面的通道id相对应 -->
		<appender-ref ref="stdout" /><!-- 与前面的通道id相对应 -->
	</root>
</log4j:configuration>

 

 

### logger的配置 ###
#配置根logger
log4j.rootLogger=info,file
 
### direct log messages to stdout ### (标准的终端输出)
#控制台输出
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#自定义输出布局
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#输出的格式
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
 
### direct messages to file ttt.log ### (输入到文件ttt.log的配置)
#输出到滚动文件
log4j.appender.file=org.apache.log4j.RollingFileAppender
#输出文件最大为10M
log4j.appender.file.MaxFileSize=10MB
#输出文件最大序号为10
log4j.appender.file.MaxBackupIndex=10
#输出文件路径
log4j.appender.file.File=C:/ttt.log
#自定义输出布局
log4j.appender.file.layout=org.apache.log4j.PatternLayout
#输出格式
log4j.appender.file.layout.ConversionPattern=%d %-5p [%t] (%13F:%L) %3x - %m%n

 

上面贴的2个配置文件功能基本相似,处理在file有些不同外,大概意思是差不多的...至于哪种速度快,没有考究过,可能xml会

 

快点吧.

 

这样配置下,可以不用修改原来使用jcl的时候的任何log代码,直接就可以把你的log输出形式给换了...如果觉的不舒服,你可

 

以把log4j给删了,影响也不大.

 

备注:

每个logger都有一个日志级别,用来控制日志的输出。未分配级别的logger将自动继承它最近的父logger的日志级别。Logger的由低到高级别如下:
ALL<DEBUG<INFO<WARN<ERROR<FATAL<OFF
Logger的级别越低,输出的日志越详细。

 

Log4j提供了以下几个实现:
 org.apache.log4j.ConsoleAppender(控制台)
 org.apache.log4j.FileAppender(文件)
 org.apache.log4j.DailyRollingFileAppender(每天都产生一个日志文件)
 org.apache.log4j.RollingFileAppender(文件大小达到指定尺寸时产生一个新的日志文件,文件名称上会自动添加数字序号。)
 org.apache.log4j.WriterAppender(将日志信息以流的格式发送到任意指定的地方)
默认情况下,子logger将继承父logger的所有appenders。
 
rootlogger拥有目标为system.out的consoleAppender,故默认情况下,所有的logger都将继承该appender。

 

Log4j提供Layout有以下几种:
 org.apache.log4j.HTMLLayout(以HTML表格形式布局)
 org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
 org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
 org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等信息)

 

 

%m:输出代码中指定的消息。
%p:输出优先级。
%r:输入自应用启动到输出该log信息耗费的毫秒数。
%c:输出所属的类目,通常就是所在类的全名。
%t:输出产生该日志线程的线程名。
%n:输出一个回车换行符。Windows平台为“\r\n”,UNIX为“\n”。
%d:输出日志时间点的日期或时间,默认格式为ISO8601,推荐使用“%d{ABSOLUTE}”,这个输出格式形如:“2007-05-07 18:23:23,500”,符合中国人习惯。
%l:输出日志事件发生的位置,包括类名、线程名,以及所在代码的行数。

 

3
1
分享到:
评论

相关推荐

    log4net配置详细图解+Demo

    通过以上内容,我们不仅掌握了log4net的基本配置和使用,还通过Demo加深了对其实战应用的认识。无论你是初学者还是经验丰富的开发者,log4net都是一个值得掌握的工具,它可以帮助你提高开发效率,同时保持代码的整洁...

    log4j基本配置 properties

    log4j的基本配置,可以直接使用,用于快速调试代码使用,清晰明了

    log4j使用基本配置

    Log4j 是一个广泛使用的Java日志记录框架,它提供了灵活的日志配置和多种日志输出格式,使得开发者能够方便地管理和控制应用程序的输出信息。本文将深入介绍如何配置和使用Log4j。 首先,Log4j 的配置可以通过两种...

    log4net的配置详解

    在此配置中,日志被写入名为"log.txt"的文件,布局模式决定了日志的输出格式。 ### 4. Layout配置 Layout定义了日志消息的格式。PatternLayout是最常用的Layout,允许自定义输出格式。例如: ```xml ``` 上述...

    WinForm Log4Net 配置和使用实例

    首先,我们要理解Log4Net的基本概念。Log4Net提供了一个可扩展的框架,通过定义不同的Appenders(输出目标),Layouts(输出格式)以及Filters(过滤规则),使得日志信息可以按照需求输出到控制台、文件、数据库或...

    SSM整合中的Log4j日志的配置详情

    下面是一个基本的 Log4j.properties 配置文件: ``` log4j.rootLogger=DEBUG,console,file log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.Target = System.out log4j....

    log4j配置文件说明(完整版)

    Log4j 配置文件说明 Log4j 是一种流行的日志记录工具,用于记录和管理应用程序中的日志信息。配置文件是 Log4j 的核心组件之...了解 Log4j 配置文件的基本结构和配置方法,可以更好地使用 Log4j 实现日志记录和管理。

    log4j配置

    以下是一个基本的`log4j.properties`配置示例: ```properties # 设置根日志器的级别为INFO log4j.rootLogger=INFO, Console, File # 定义Console Appender log4j.appender.Console=org.apache.log4j....

    log4net配置说明及相关文件

    1. **Appender**: Appender是log4net系统中最基本的组件,负责将日志信息输出到某个目的地,如文件、控制台、邮件等。 2. **Layout**: Layout定义了日志信息的格式,包括日期、级别、消息内容等。 3. **Logger**: ...

    log4j配置与使用方法

    #### 二、log4j基本配置步骤 1. **创建Java项目**: - 首先,在开发环境中创建一个新的Java项目。 - 在项目中创建一个包(package),并在这个包内创建一个Java类。 2. **导入log4j库**: - 导入log4j的jar包。...

    Log4net 配置应用

    log4net基本概念** - **Appender**: Appender是log4net的核心组件,负责将日志信息输出到特定的目的地,如控制台、文件、数据库或电子邮件等。 - **Layout**: Layout定义了日志信息的格式,如日期、级别、消息等。 ...

    log4j配置使用,描述了log4j的配置实用

    本篇文章将详细解读 log4j 的基本配置及使用方法,非常适合初学者理解和掌握。 #### 二、日志级别解释 在 log4j 中有五个主要的日志级别,从低到高分别为: 1. **DEBUG**:用于记录开发过程中的调试信息,这些...

    常用log4j配置常用log4j配置

    本文将深入解析《常用log4j配置》中的关键知识点,包括配置文件的格式、基本配置项的含义及其应用场景。 ### 标题:常用log4j配置 #### 配置文件格式 Log4j支持多种配置文件格式,包括.properties和.xml,其中....

    Log4J_全能配置文件.pdf

    除了以上提到的基本配置外,还可以配置更多高级功能,例如: - **邮件通知**:当发生严重错误时自动发送邮件通知。 - **数据库日志**:将日志记录到数据库中,便于后续的数据分析。 - **自定义标签**:允许开发者...

    Log4j配置文件

    #### 二、配置文件基本结构 Log4j的配置文件可以通过两种主要格式定义:`properties`格式和`XML`格式。下面以`properties`格式为例进行介绍: ```properties # 配置根Logger log4j.rootLogger=[level],...

    log4j配置使用说明及JAR包

    以下是一些基本配置项: - **日志级别**: 可设置为DEBUG、INFO、WARN、ERROR、FATAL。例如: ``` log4j.rootLogger=INFO, stdout ``` - **Appender配置**: 定义日志输出目标和格式。如将日志输出到控制台: ``...

    log4net配置,日志纪录log4j的.NET版

    除了基本配置外,log4net还支持自定义Appenders和Layouts,可以将日志写入数据库、网络、自定义日志文件等。此外,还可以通过过滤器控制哪些日志条目应被记录,或者使用不同的日志格式。 **6. 结论** Log4net作为...

    log4net配置实例下载

    ### log4net基本概念 1. **Appender**: Appender是log4net的核心组件,负责将日志信息输出到指定的目标,如控制台、文件、数据库等。 2. **Layout**: Layout定义了日志信息的格式,如日期、级别、消息等。 3. **...

    log4j之基本配置

    ### Log4j基本配置详解 #### 一、Log4j简介 Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件还是其他地方,还可以控制每一条日志的输出格式;通过定义每一条日志信息...

    JBOSS log4j 配置

    然而,在 JBOSS 服务器中使用 Log4j 时,可能会遇到一些冲突和配置问题。本文将详细介绍如何解决 JBOSS 和 Log4j 的冲突,配置 Log4j,及 Log4j 的基本使用方法。 解决 JBOSS 和 Log4j 冲突的配置 为了解决 JBOSS ...

Global site tag (gtag.js) - Google Analytics