我的gradle依赖项:
compile "org.slf4j:slf4j-log4j12:1.6.1"
compile "io.vertx:vertx-core:3.4.2"
compile 'io.vertx:vertx-web:3.4.2'
我的log4配置位于src/main/resouces/log4.xml
配置内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%m%n" />
</layout>
</appender>
<root>
<priority value="debug" />
<appender-ref ref="stdout" />
</root>
</log4j:configuration>
在创建Vertx实例之前,我有这一行:
System.setProperty(
"vertx.logger-delegate-factory-class-name",
"io.vertx.core.logging.SLF4JLogDelegateFactory"
)
但是在提出请求时,没有记录任何内容。如何正确配置?
答案 0 :(得分:2)
您希望使用log4j
进行记录,但是将工厂类名称设置为slf4j
。
正确的属性值为io.vertx.core.logging.Log4jLogDelegateFactory
请参阅文档中的logging部分。
答案 1 :(得分:0)
您还可以使用
中定义的log4j.properties
文件夹src/main/resouces/
配置日志
# Root logger option
log4j.rootLogger=DEBUG, stdout, file
# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
log4j.logger.io.netty.handler.codec.http.websocketx= ERROR
log4j.appender.file=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.file.File=./logs/auth.log
log4j.appender.file.RollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.file.RollingPolicy.ActiveFileName =./logs/auth.log
log4j.appender.file.RollingPolicy.FileNamePattern=./logs/logs.%d{yyyyMMdd}.gz
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
我希望这会对你有所帮助:)