Tag: logback

是否存在使用消息参数作为属性创建JSON对象的Logback布局?

我想将日志事件作为带有参数化字符串消息的JSON对象发送到Loggly。 我们的项目目前有很多代码如下: String someParameter = “1234”; logger.log(“This is a log message with a parameter {}”, someParameter); 我们目前正在使用Logback作为我们的SLF4J后端,而Logback的JsonLayout将我们的ILogEvent对象序列化为JSON。 因此,当我们将日志事件发送到Loggly时,它们看起来像这样: { “message”: “This is a log message with a parameter 1234”, “level”: INFO, …. } 虽然这确实有效,但它会为someParameter每个值发送一个不同的message字符串,这会使Loggly的自动filter无效。 相反,我想要一个创建如下所示的JSON的布局: { “message”: “This is a log message with a parameter {}”, “level”: INFO, “parameters”: [ “1234” ] } 这种格式允许Loggly使用消息对所有日志事件进行分组。 This […]

如何以编程方式告知Logback重新加载配置

我知道有一个reloadDefaultConfiguration()jmx操作,但是没有得到MBean的实例并调用此操作,是否有一个Logback api来重新加载默认配置(可选择指定一个日志配置文件路径)?

登录lobgack时如何处理磁盘已满错误?

我正在使用slf4j + logback登录我们的应用程序。 早些时候我们使用jcl + log4j并最近移动了。 由于我们的应用程序中存在大量日志记录,因此在生产环境中磁盘可能已满。 在这种情况下,我们需要停止记录,应用程序应该正常工作。 我在网上发现的是我们需要轮询logback StatusManager以查找此类错误。 但是这将为应用程序添加一个依赖项和logback。 对于log4j,我发现我们可以创建一个Appender来停止在这种情况下登录。 这将再次导致与log4j的应用程序依赖。 有没有办法只用slf4j配置它,还是有其他机制来处理这个?

如何配置logback以跳过来自org.package。*的日志消息,所有级别低于WARN?

如何配置logback不要记录包org.package及其子包中记录器的消息,除非它们的级别是WARN或ERROR?

对于严格的ISO 8601合规性,使Logback在“%date”格式中包含日期和时间之间的“T”

默认情况下, Logback编码器使用类似于ISO 8601标准的日期格式 。 但它在日期和时间部分之间缺少“T”。 T使得解析变得更容易,并且是标准所要求的(除非私人方达成一致)。 是否有一些技巧可以让Logback包含T ? 这个… 2006-10-20T14:06:49,812 而不是这个…… 2006-10-20 14:06:49,812 我想我可以在添加“T”时重新创建整个格式,但我想知道是否有更简单的方法。

在Tomcat中放置logback.xml的位置?

当我们希望将logback.xml文件配置为可配置时,将logback.xml文件放在何处? 以及如何使内部运行的Java应用程序可以访问它?

在logback.xml中有没有办法通过classpath:指定文件日志目的地,没有绝对路径?

我在我的logback.xml配置文件中这个appender: classpath:addressbookLog.log %d{dd MMM yyyy;HH:mm:ss} %-5level %logger{36} – %msg%n classpath:addressbookLog.%i.log.zip 1 10 2MB 所以我指定文件的路径,通过类路径以相对的方式打印日志,但它不起作用,没有创建和写入文件addressbookLog.log。 它只适用于像/home/andrea/…/resources/addressbookLog.log这样的绝对路径。您对如何使用classpath有任何想法吗?

如何使用logback禁用accessExternalDTD和entityExpansionLimit警告

我正在使用groovy的logback并在解析xml时出现很多警告。 我知道JDK1.7_u45中导致此问题的错误。 Warning: org.apache.xerces.parsers.SAXParser: Property ‘http://javax.xml.XMLConstants/property/accessExternalDTD’ is not recognized. Warning: org.apache.xerces.parsers.SAXParser: Property ‘http://www.oracle.com/xml/jaxp/properties/entityExpansionLimit’ is not recognized. 有没有办法关闭这个日志警告出现在DEBUG? 我尝试使用Filter编写filter,但没有帮助。

如何从war文件外的路径读取Logback配置文件?

我有一个要求,我想将所有的logback配置放在war文件之外。 目前我已将配置文件(logback.xml)放在类路径上。 我正在使用JBOSS EAP Web应用程序服务器,请建议如何实现相同。

Logback logger记录两次

我想在我的应用程序中使用slf4j + logback用于两个目的 – 日志和审计。 对于日志记录,我记录正常方式: static final Logger logger = LoggerFactory.getLogger(Main.class); logger.debug(“-> main()”); 对于Audit,我创建了一个特殊的命名记录器并记录到它: static final Logger logger = LoggerFactory.getLogger(“AUDIT_LOGGER”); Object[] params = { new Integer(1) /* TenantID */, new Integer(10) /* UserID */, msg}; logger.info(“{}|{}|{}”, params); logback配置: %d{HH:mm:ss.SSS}|%msg%n %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} – %msg%n 问题:通过审计记录器记录的消息出现两次 – 一次在AUDIT_LOGGER下,一次在根记录器下。 14:41:57.975 [main] DEBUG com.gammay.example.Main – – […]