blog-moon
导航
BlogJava
首页
新随笔
联系
聚合
管理
<
2025年1月
>
日
一
二
三
四
五
六
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
统计
随笔 - 3
文章 - 6
评论 - 4
引用 - 0
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
问题收集
(rss)
随笔档案
2006年6月 (1)
2006年5月 (2)
文章分类
java与Office
(rss)
Web(1)
(rss)
数据库
(rss)
文章档案
2006年6月 (1)
2006年5月 (1)
2006年4月 (3)
2006年2月 (1)
收藏夹
Java与Office(Excel)(3)
(rss)
Office
浅谈Excel报表在Java程序中的应用
Websphere
Integrating Jakarta Commons Logging
Utilizing the IBM Trace Log in WebSphere Application Server
数据库
关于ORACLE锁的问题
在Oracle 10G上用JDBC进行批量更新(batch update)时的限制
在客户端处理Oracle的数据行加锁问题
搜索
最新评论
1. re: 安装RAD后发现runtimes中没有base_v6目录
可以重新安装disk4/external/was下的内容,将安装目录指向/{RAD_INSTALL_DIR}/runtimes/base_v6就可以了
--好
2. re: 插入时空指针,似乎与oracle driver的版本有关
问您一下,您这个问题最后怎么解决的?
方便的话发我邮箱里yin-985@163.com.
谢谢了!
--yin986
3. re: 安装RAD后发现runtimes中没有base_v6目录[未登录]
评论内容较长,点击标题查看
--Omelette
4. re: 安装RAD后发现runtimes中没有base_v6目录
奇怪了 我装了四五次 每次都有这个目录,但是我几个同事装每次都没有?是不是与人品有关啊?
--Omelette
阅读排行榜
1. 安装RAD后发现runtimes中没有base_v6目录(1454)
2. 插入时空指针,似乎与oracle driver的版本有关(1026)
3. Webshere 与log4J(717)
评论排行榜
1. 安装RAD后发现runtimes中没有base_v6目录(3)
2. 插入时空指针,似乎与oracle driver的版本有关(1)
3. Webshere 与log4J(0)
转:Log4J基本知识及用法
1、Log4j的概念
Log4j中有三个主要的组件,它们分别是Logger、Appender和Layout,Log4j 允许开发人员定义多个Logger,每个Logger拥有自己的名字,Logger之间通过名字来表明隶属关系。有一个Logger称为Root,它永远存在,且不能通过名字检索或引用,可以通过Logger.getRootLogger()方法获得,其它Logger通过 Logger.getLogger(String name)方法。
Appender则是用来指明将所有的log信息存放到什么地方,Log4j中支持多种appender,如 console、files、GUI components、NT Event Loggers等,一个Logger可以拥有多个Appender,也就是你既可以将Log信息输出到屏幕,同时存储到一个文件中。
Layout的作用是控制Log信息的输出方式,也就是格式化输出的信息。
Log4j中将要输出的Log信息定义了5种级别,依次为DEBUG、INFO、WARN、ERROR和FATAL,当输出时,只有级别高过配置中规定的级别的信息才能真正的输出,这样就很方便的来配置不同情况下要输出的内容,而不需要更改代码,这点实在是方便啊。
2、Log4j的配置文件
虽然可以不用配置文件,而在程序中实现配置,但这种方法在如今的系统开发中显然是不可取的,能采用配置文件的地方一定一定要用配置文件。Log4j支持两种格式的配置文件:XML格式和Java的property格式,本人更喜欢后者,首先看一个简单的例子吧,如下:
log4j.rootLogger=debug, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log
log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
首先,是设置root,格式为 log4j.rootLogger=[level],appenderName, ...,其中level就是设置需要输出信息的级别,后面是appender的输出的目的地,appenderName就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。配置日志信息输出目的地Appender,其语法为
log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = value1
...
log4j.appender.appenderName.option = valueN
Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生新文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
配置日志信息的格式(布局),其语法为:
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
log4j.appender.appenderName.layout.option1 = value1
....
log4j.appender.appenderName.layout.option = valueN
Log4j提供的layout有以下几种:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
3、Log4j在程序中的使用
要在自己的类中使用Log4j,首先声明一个静态变量Logger logger=Logger.getLog("classname");在使用之前,用PropertyConfigurator.configure ("配置文件")配置一下,现在就可以使用了,用法如下:logger.debug("debug message")或者logger.info("info message"),看下面一个小例子:
import com.foo.Bar;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class MyApp {
static Logger logger = Logger.getLogger(MyApp.class.getName());
public static void main(String[] args) {
// BasicConfigurator replaced with PropertyConfigurator.
PropertyConfigurator.configure(args[0]);
logger.info("Entering application.");
Bar bar = new Bar();
bar.doIt();
logger.info("Exiting application.");
posted on 2006-05-10 22:14
moon
阅读(157)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
Powered by:
BlogJava
Copyright © moon