Logging Wildfly Swarm的日志级别配置
在开发基于Wildfly Swarm的应用程序时,如何使用project-stages.yml中可用的属性配置日志记录级别 换句话说,SpringBoot的“logging.level.com.acme.rest=DEBUG”属性的等价物是什么 目前我知道:Logging Wildfly Swarm的日志级别配置,logging,spring-boot,wildfly-swarm,Logging,Spring Boot,Wildfly Swarm,在开发基于Wildfly Swarm的应用程序时,如何使用project-stages.yml中可用的属性配置日志记录级别 换句话说,SpringBoot的“logging.level.com.acme.rest=DEBUG”属性的等价物是什么 目前我知道: “swarm.logging=DEBUG”可用于配置所有日志级别(不是我需要的) 可以使用“standalone.xml”,但不够友好 LoggingFraction可用于以编程方式配置日志级别(也不是我需要的) 文档中还提到了“logg
- “swarm.logging=DEBUG”可用于配置所有日志级别(不是我需要的)
- 可以使用“standalone.xml”,但不够友好
- LoggingFraction可用于以编程方式配置日志级别(也不是我需要的)
- 文档中还提到了“logging.level”,但到目前为止我还不能让它工作
感谢您抽出时间您应该能够在末尾添加一个类别:
-Dswarm.logging.com.acme.rest=DEBUG
您应该能够在末尾添加一个类别:
-Dswarm.logging.com.acme.rest=DEBUG
为了实现这个目标,我创建了一个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;
}
为了实现这个目标,我创建了一个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;
}
在project-stages.yml中,可以定义日志记录级别(有关所有选项的完整列表,请参阅):
在project-stages.yml中,可以定义日志记录级别(有关所有选项的完整列表,请参阅):
OP对LoggingFraction说:“不是我需要的”。OP对LoggingFraction说:“不是我需要的”。