DarkMatter in Cyberspace
  • Home
  • Categories
  • Tags
  • Archives

JDK日志模块使用方法


今天尝试使用JDK自带的日志模块打印日志,过程如下:

使用类:

public class LoginTest { Logger logger = Logger.getLogger(this.getClass().getName()); @Before public void setup() throws SecurityException, IOException { logger.info("hello logger"); } ... }

配置文件(logging.properties):

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

.level= INFO

java.util.logging.FileHandler.pattern = ./log/myapp.%g.log

java.util.logging.FileHandler.limit = 50000

java.util.logging.FileHandler.count = 5

java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter

java.util.logging.ConsoleHandler.level = ALL

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

运行方法:

$ java -Djava.util.logging.config.file=./conf/logging.properties LoginTest

使用虚拟机参数指定配置文件的位置,这是与其他log框架(e.g. Log4j, logback)用法不同的地方;

另外:上面将日志文件放在log文件夹里,经试验发现,log文件夹 必须预先创建好 ,否则日志文件将不能生成!

也可以在Java代码中指定FileHandler的特性:

FileHandler handler = new FileHandler("myapp.log", 1024, 5, true); handler.setFormatter(new SimpleFormatter()); logger.addHandler(handler); logger.info(server.response());

但一般情况下配置文件灵活性更好;

FileHandler.pattern中的特殊符号(e.g. %h, %g, etc)含义可参看 JDK6文档 中FileHandler类的说明;



Published

Jun 29, 2012

Last Updated

Jun 29, 2012

Category

Tech

Contact

  • Powered by Pelican. Theme: Elegant by Talha Mansoor