2016-11-17 122 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