java 自带的log_Java 自带的Log功能

经常只是使用log4,没有对java的log进行深入研究,趁着今日整理source的机会,把java log这方面整理一下。

1.Java默认的log使用

找到位于jre/lib下的logging.properties

############################################################

#      Default Logging Configuration File

#

# You can use a different file by specifying a filename

# with the java.util.logging.config.file system property.

# For example java -Djava.util.logging.config.file=myfile############################################################

############################################################

#      Global properties

############################################################

# "handlers" specifies a comma separated list of log Handler

# classes.  These handlers will be installed during VM startup.

# Note that these classes must be on the system classpath.

# By default we only configure a ConsoleHandler, which will only

# show messages at the INFO and above levels.

handlers= java.util.logging.ConsoleHandler

# To also add the FileHandler, use the following line instead.

#handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler

# Default global logging level.

# This specifies which kinds of events are logged across

# all loggers.  For any given facility this global level

# can be overriden by a facility specific level

# Note that the ConsoleHandler also has a separate level

# setting to limit messages printed to the console.

.level= INFO

############################################################

# Handler specific properties.

# Describes specific configuration info for Handlers.

############################################################

# default file output is in user's home directory.

#java.util.logging.FileHandler.pattern = %h/java%u.log

java.util.logging.FileHandler.pattern = %h/%s.log//文件名字和路径,默认为用户的根目录 java.util.logging.FileHandler.limit = 50000

java.util.logging.FileHandler.count = 1

java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter

# Limit the message that are printed on the console to INFO and above.

java.util.logging.ConsoleHandler.level = INFO

java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

############################################################

# Facility specific properties.

# Provides extra control for each logger.

############################################################

# For example, set the com.xyz.foo logger to only log SEVERE

# messages:

com.xyz.foo.level = SEVERE

测试:

import java.io.IOException;

import java.util.Locale;

import java.util.logging.FileHandler;

import java.util.logging.Level;

import java.util.logging.Logger;

import java.util.logging.SimpleFormatter;

public class testMain {

public static void main(String[] args) {

try {

// testGetPropertyUtil

//testMain.testGetPropertyUtil();

testMain.testLog();

} catch (Exception e) {

e.printStackTrace();

}

}

public static void testLog() throws SecurityException, IOException {

Logger loger =Logger.getLogger("test.Test");

FileHandler fh = new FileHandler("c:/test.log",true);//方法返回日志文件存放的路径

loger.addHandler(fh);

loger.setLevel(Level.ALL);

SimpleFormatter sf = new SimpleFormatter();

fh.setFormatter(sf);

loger.log(Level.INFO, "这是一个消息");

loger.log(Level.WARNING, "这是一个警告");

loger.log(Level.SEVERE, "这是一个服务器消息");

}

}

运行后再控制台打印如下信息:

2012-2-15 16:45:44 testMain testLog

信息: 这是一个消息

2012-2-15 16:45:44 testLog

警告: 这是一个警告

2012-2-15 16:45:44 testMain testLog

严重: 这是一个服务器消息

同时在生产c:/test.log文件,里面是同样的内容。

2: 使用Jakarta Commons Logging(JCL)

JCL是所有的Java日志提供一个统一的接口,开发人员可以自己实现该接口,或者调用Log4J,AvalonLogKit JDK1.4来实现。同时本身也提供一个简单的SimpleLog实现类。配置文件为commons-logging.properties

在该配置文件中指定具体的实现类。比如,使用log4J的时候可以如下配置:

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

具体如何使用,google 百度可以找出一大堆。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值