我使用JDK日志作为日志框架,使用SLF4J作为简单外观。当我记录不同级别的日志时,我有一些查询。
SLF4J具有以下日志级别
trace (the least serious)<br>
debug<br>
info<br>
warn<br>
error<br>
fatal (the most serious)<br>
JDK日志记录具有以下日志级别:
SEVERE (highest value)<br>
WARNING<br>
INFO<br>
CONFIG<br>
FIN
我使用SLF4J日志记录来打印所有日志。我正在使用最新版本的org.slf4j。
实现'org.slf4j:slf4j-api:2.0.0-alpha1‘1’
实现'org.slf4j:log4j-over-slf4j:2.0.0-alpha1‘1’
但是我得到了以下错误,而且没有打印日志。
SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.htm
当我实例化一个Kafka消费者时
KafkaConsumer<String,String> consumer = new KafkaConsumer<String,String>(props);
我收到了这个消息
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#Sta
我已经使用生成了一个CXF服务器,由于外部原因,我面临着与产生的web服务有关的问题。为了正确地调试它,我想将这个CXF服务器的日志级别从默认更改为非常详细的内容(调试?)。
我已经检查了和,但是我不明白,而且似乎解决方案不适合我的代码。我不知道该把给定的代码放在哪里,我也没有用XML文件配置Spring应用程序。
下面是由ValidationPort_BasicHttpBindingValidation_Server生成的wsdl2java:
// I have edited this WS a little to run it with spring instead of a main.
我的java应用程序使用SLF4J在Unix box上运行,我的代码包含如下条目:
if (LOG.isDebugEnabled())
LOG.debug("There is nothing in the cache for " + quote.getObject().getObjectId() + " - using the init quote");
我尝试启用日志记录,或者通过JMX调试或跟踪,但上面的日志语句仍然没有打印出来。打印所有不带"isDebugEnabled()“的语句。
您知道如何启用这些日志语
我要找的是:
Java
可以取代公用日志记录或slf4j的日志库
只有在日志级别需要时才展开参数(即没有if (log.isDebugEnabled())块)
字符串格式与java.lang.String.format相同
检测java.lang.Throwable作为最终参数和日志堆栈跟踪
目标是编写这样的代码
private static final Log log = new Log.getLog(MyClass.class);
// ...
String value = "test";
log.debug("The value is
我有一个RouteBuilder路径,包括:
.log(LoggingLevel.DEBUG, "Unknown type on reporting queue")
很抱歉问了这个问题,但是这里有记录吗?霍蒂奥证实它正在被处决。但是它不在/var/log/tomcat/myproject.log或var/log/tomcat/myproject/camel.log文件中。我也没在/var/log/messages上看到
我在myproject.log中看到从bean中记录的消息,但是.log(...)谓词没有记录任何消息。
编辑之后,我发现slf4j可以坐在log4j上面。我找