2016-11-17 76 views
1

当开发基于Wildfly Swarm的应用程序时,如何使用project-stages.yml中可用的属性配置日志记录级别?Wildfly Swarm的日志级别配置

换句话说,什么是Spring Boot的“logging.level.com.acme.rest = DEBUG”属性的等价物?

目前我知道:

  • “swarm.logging = DEBUG” 可以用来配置所有日志记录级别(不是我所需要)
  • A “standalone.xml” 可以使用但不是OPS不够友好
  • LoggingFraction可以用来编程配置日志记录级别(也没有什么,我需要)
  • 的文件还提到“logging.level”但我不能让它工作至今

谢谢您的时间

回答

3

在你项目stages.yml您可以定义日志记录级别(看到Wildfly Swarm Reference Guide的所有选项的完整列表):

swarm: 
    logging: 
    loggers: 
     com.acme.rest: 
     level: DEBUG 
-1

你应该能够类别添加到末尾:

-Dswarm.logging.com.acme.rest=DEBUG 
+0

哎哟,不工作 –

2

我为了创建一个loggingFraction方法实现这一目标。这样的:

protected LoggingFraction logging() { 

     String logName = swarm.stageConfig().resolve("application.name").getValue(); 
     String category = swarm.stageConfig().resolve("logger.category").getValue(); 

     String levelName =swarm.stageConfig().resolve("logger.level").getValue(); 

     final String logFile = System.getProperty("user.dir") + File.separator+ 
       "target"+File.separator+ 
       logName+".log"; 

     LoggingFraction loggingFraction = new LoggingFraction() 
       .periodicSizeRotatingFileHandler(logName,(h)->{ 
        h.level(Level.valueOf(levelName)) 
          .append(true) 
          .suffix(".yyyy-MM-dd") 
          .rotateSize("30m") 
          .enabled(true) 
          .encoding("UTF-8") 
          .maxBackupIndex(2); 
        Map<String,String> fileSpec = new HashMap<>(); 
        fileSpec.put("path", logFile); 
        h.file(fileSpec); 
       }).logger(GetinApp.class.getPackage().getName(),(l)->{ 
        l.level(Level.valueOf(levelName)) 
          .handler(logName); 
       });; 
     }) 
     List<String> categories = Arrays.asList(category.split(",")); 
     categories.forEach(c->{ 
      loggingFraction.logger(c.trim(),l->{ 
       l.level(Level.valueOf(levelName)).handler(logName); 
      }); 
     }); 

     return loggingFraction; 
    } 

这样我就可以项目stages.yml像声明我自己的属性:

project-name: 
    logger: 
    level: DEBUG 
    category: com.example.com, org.anotherexample.com 
+1

OP说FO r * LoggingFraction *:“不是我需要的”。 – MarianD