Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用模式对文件进行Java日志记录_Java_Logging - Fatal编程技术网

使用模式对文件进行Java日志记录

使用模式对文件进行Java日志记录,java,logging,Java,Logging,我编写了一个CXFSOAP客户端,希望为每次运行创建编号的日志文件 我尝试过使用“logging.properties”文件配置FileHandler。我有一句话: handlers= java.util.logging.FileHandler .level= INFO java.util.logging.FileHandler.pattern = campaignStatusCXF%u.log java.util.logging.FileHandler.limit = 50000 java.u

我编写了一个CXFSOAP客户端,希望为每次运行创建编号的日志文件

我尝试过使用“logging.properties”文件配置FileHandler。我有一句话:

handlers= java.util.logging.FileHandler
.level= INFO
java.util.logging.FileHandler.pattern = campaignStatusCXF%u.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
# Limit the message that are printed on the console to WARNING and above.
java.util.logging.ConsoleHandler.level = WARNING
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
但它并不仅仅是自己起作用。我必须在代码中添加FileHandler:

System.setProperty(“java.util.logging.config.file”,“/logging.properties”); LOG=Logger.getLogger(BulkEmailDownloader.class.getName())

这种方法的问题是——它只是一直重写日志


例如,我阅读了大量的示例和答案,但找不到我正在寻找的答案。

问题是LogManager配置在代码执行之前运行。这意味着您必须执行以下操作之一:

  • 在启动脚本中设置“java.util.logging.config.file”系统属性
  • 在代码中设置系统属性后调用
  • 使用和加载属性文件
  • 此外,示例代码还需要包含一个文件模式:

    new FileHandler("campaignStatus%g.log");
    
    new FileHandler("campaignStatus%g.log");