草庐IT

logback-classic

全部标签

java - 这个 Logback 模式有什么问题?

我正在使用这种模式:%d{HH:mm:ss.SSS}%-5level%logger{36}-(%file:%line)-%msg%n但输出看起来像:09:42:25.811警告a.a.an.dao.api.ANApi-(ANApi.java:153模式似乎在%line之后被截断(如果我使用%L也会发生这种情况)-我做错了什么?我需要这个特定的模式,以便Eclipse的控制台能够识别它。 最佳答案 (和)具有特殊含义,如logback中所述网站:InPatternLayout,parenthesiscanbeusedtogroupco

java - Logback:如何仅将错误记录到文件

我已经阅读了2小时的logback手册,但仍然不知道如何做我需要的事情。正如标题所说的那样简单:我只想将错误记录到文件中,其他级别(包括ERROR)到控制台。这是我的logcat.xml文件的根部分:此配置的问题在于它会将每个级别>=TRACE记录到两个附加程序。我可以让root只有控制台,并定义一个文件记录器:但是我必须像这样调用普通记录器:LoggerFactory.getLogger(ClientClass.class);文件记录器是这样的:LoggerFactory.getLogger("file_logger");我不想为每个类(class)选择记录器。我只想使用类作为参数从

java - Logback:通过过滤器修改消息?

是否可以在匹配过滤器后修改日志事件?我有一个Web容器(Jersey),它在ERROR级别记录未捕获的异常。但是,对于服务器(Jetty)抛出的某些异常(EofException),我想将它们记录在较低级别(INFO)。我可以使用匹配异常类型(EofException)的Logback过滤器完全删除这些消息。但是我还没有找到支持的方法来修改日志事件,例如更改日志级别。 最佳答案 您可以使用TurboFilter模拟此行为,方法是使用提供的记录器记录您自己修改的消息,并拒绝原始消息。不过,我不认为这种hack是个好主意。package

java - 如何避免使用 logback 重复记录?

这个问题在这里已经有了答案:Logbackloggerloggingtwice(3个答案)关闭6年前。在我的应用程序中,与记录的所有其他消息相比,我想以特定方式记录一些来self自己的代码的消息。但是我不确定如何避免它们也被自动记录到logack根记录器。使用下面的配置,我想使用如下代码(scala),以便我可以仅将某些消息记录到该记录器。vallogger:Logger=LoggerFactory.getLogger("data-logger")但是在下面的配置中,这些消息被记录了两次,即它们也被根记录器记录。我怎样才能避免这种情况?我必须完全人为地使用不同的日志记录级别来完成类似l

java - 通过 logback.xml 禁用来自特定类/jar 的日志

在我的应用程序中,我使用Java、Hibernate。日志记录:我使用logback.xml谁能建议是否有办法从Hibernatejar中禁用以下特定类的日志。要从特定类中删除的LOGGER:错误o.h.e.jdbc.spi.SqlExceptionHelperlogback.xml:%d{yyyy-MM-ddHH:mm:ss}[%thread]%-5level%logger{36}-%msg%n 最佳答案 将以下内容添加到您的logback.xml配置文件中:指令:level="OFF"告诉Logback禁用给定记录器的所有日志输

java - 如何在多模块 Maven 项目中配置 slf4j+logback?

我的Maven项目有大约七个子模块。其中六个打包为JAR,一个打包为WAR。我应该在每个模块中创建单独的logback.xml配置吗?或者我应该有一个所有其他模块都依赖的“通用”模块,并在其中放置一个logback.xml吗?还有其他选择吗?谢谢。 最佳答案 所有库JAR都应该仅使用slf4j-api依赖项,并且只有最终应用程序(在您的情况下是.war)应该包含logback依赖项及其配置。出于测试目的,我认为更容易制作test对slf4j-simple的依赖,它使用起来更简单,并且通常足以用于测试用例。

java - SLF4J 和 Logback 的依赖管理

我想开始将SLF4J与Logback结合使用。我在网上阅读了Logback的documentation现在我准备将JAR添加到我的存储库中并进行试用。但是我很茫然!我需要什么JAR?我下载了最新的SLF4J(1.7.5),希望看到somethingslf4j-logback.jar之类的东西,但没有看到任何类似的东西。我读过Logback包含SLF4J的“native实现”,但不知道这到底是什么意思,或者它是否也暗示我什至不需要slf4j-api-1.7.5.jar在类路径上。所以我问:要使用最新的Logback(1.0.13),我需要什么JAR?我看了一下Maven中央仓库forlo

java - 使用 Logback 但 Log4j 开始显示 WARN no Appenders

我正在使用logback进行日志记录,但它一直在工作;前几天我开始收到警告log4j:WARN找不到记录器(org.apache.axis.i18n.ProjectResourceBundle)的附加程序。log4j:WARN请正确初始化log4j系统。我没有使用log4j,也没有参与过这个项目。我的资源文件夹中有一个logback.xml。对于为什么开始出现此警告有任何想法吗? 最佳答案 您必须使用一个使用log4j的库。你能发布更多关于你的项目的信息吗?您可能应该将log4j桥放在类路径中。在这里阅读更多:http://www.

java - Tomcat WAR - 配置 Logback 以在路径中使用应用程序名称

我在我的war文件lib文件夹中部署了logback,并且在类文件夹中有以下logback.xml。${destination}.log${destination}-%d{yyyy-MM-dd}.%i.log7100MB%d{HH:mm:ss.SSS}[%thread]%-5level%logger{36}-%msg%n在第3行,我有一些变量替换为我的日志文件创建了路径。我想让${appName}评估为部署的war文件的当前名称。如果我的网络应用程序文件夹看起来像这样webapps-myapp.war-myapp-dev.warmyapp.war的${destination}属性将评估

java - Logback 日志记录模式中的进程 ID

我有以下logback模式:{"hostname":"${HOSTNAME}","level":"%p","method":"%M","process_id":"${process}","thread_id":"%t","timestamp":"%d{Y-M-d}T%d{H:M:S.s}","mesg":"%msg"}%n不幸的是,当日志消息实际生成时,我看到:"process_id":"process_IS_UNDEFINED"是否有任何自动设置的进程ID变量,例如主机名?我很难在logback文档中找到此类自动设置变量的记录列表,有人知道更好的文档来源吗?编辑:我知道映射诊断上下文