solon.logging.logback
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon.logging.logback</artifactId>
</dependency>
1、描述
日志扩展插件,基于 logback 适配插件。
2、配置示例
日志等级的优先顺序:appender > logger > root。具体配置示例:
solon.app:
name: demoapp
# 以下为默认值,可以都不加,或者想改哪行加哪行(支持"云端配置服务"进行配置,支持写到"云端日志服务")
solon.logging.appender:
console:
level: TRACE
file:
name: "logs/${solon.app.name}"
level: INFO
maxFileSize: "10 MB"
maxHistory: "7"
cloud:
level: INFO
# 记录器级别的配置示例
solon.logging.logger:
"root": #默认记录器配置
level: TRACE
"com.zaxxer.hikari":
level: WARN
如果想用 Spring boot 怀旧风格:
solon.app:
name: demoapp
solon.logging.appender:
console:
pattern: "%d{yyyy-MM-dd HH:mm:ss} %-5level %magenta(${PID:-}) %white(---) %-20(%yellow([%20.20thread])) %-55(%cyan(%.32logger{30}:%L)) %msg%n"
file:
pattern: "%d{yyyy-MM-dd HH:mm:ss} %-5level %magenta(${PID:-}) %white(---) %-20(%yellow([%20.20thread])) %-55(%cyan(%.32logger{30}:%L)) %msg%n"
3、应用示例
@SolonMain
public class DemoApp {
public static void main(String[] args) {
Solon.start(DemoApp.class, args);
}
}
@Controller
public class DemoController{
static Logger log = LoggerFactory.getLogger(DemoController.class);
@Mapping("/hello")
public void hello(){
log.info("Hello world!");
}
}
4、转发内核的日志到 Slf4j(如果有需要)
比如,应用启动时的日志、一些插件注册的日志
@SolonMain
public class App {
public static void main(String[] args) throws Exception {
Solon.start(App.class, args, x -> {
//转发日志到 Slf4j 接口
//
LogUtil.globalSet(new LogUtilToSlf4j()); //v1.10.11 后支持
});
}
}
5、高度定制(比如,不同业务的日志写到不同文件里)
如果想高度定制,自定义可 xml 配置(支持环境切换)
#默认配置,可以从插件里复制 logback-def.xml 进行修改(-solon 可以支持 solon 特性)
logback-solon.xml
#环镜配置
logback-solon-{env}.xml
也可以用 logback.xml
配置文件。但其它配置都会失效,也没有环境切换功能