Sentry with log4j2.properties

huangapple go评论107阅读模式
英文:

Sentry with log4j2.properties

问题

我正在尝试将Sentry集成到我的Maven项目中,该项目已经在使用log4j2.properties作为log4j2的配置文件。

官方文档1中只提供了使用log4j2.xml的配置示例。

请问如何使用log4j2.properties配置与示例相同的方式?

英文:

I'm trying to integrate Sentry in my Maven project that already uses log4j2.properties as log4j2 configuration file.

The official documentation has just log4j2.xml as configuration example.

What is the way to configure the same example with log4j2.properties?

答案1

得分: 2

我有同样的问题。

这是我的log4j2.properties文件:

  1. appenders = console,Sentry
  2. appender.console.type = Console
  3. appender.console.name = STDOUT
  4. appender.console.layout.type = PatternLayout
  5. appender.console.layout.pattern = ${env:log4j.csl.pattern:-info}
  6. appender.Sentry=io.sentry.log4j.SentryAppender
  7. appender.Sentry.name=Sentry
  8. appender.Sentry.type=Sentry
  9. rootLogger.level = ${env:log4j.root.loglevel:-info}
  10. rootLogger.appenderRefs = stdout
  11. rootLogger.appenderRef.stdout.ref = STDOUT
  12. loggers=csl,sentry
  13. logger.csl.name = io.sirnino
  14. logger.csl.level = ${env:log4j.csl.loglevel:-debug}
  15. logger.csl.additivity = false
  16. logger.csl.appenderRefs = stdout
  17. logger.csl.appenderRef.stdout.ref = STDOUT
  18. logger.sentry.name = sentry
  19. logger.sentry.level = WARN
  20. logger.sentry.appenderRefs = Sentry

应用程序可以正常启动,但简而言之,似乎忽略了Sentry日志记录器。有任何想法吗?

英文:

I've the same problem.

Here is my log4j2.properties

  1. appenders = console,Sentry
  2. appender.console.type = Console
  3. appender.console.name = STDOUT
  4. appender.console.layout.type = PatternLayout
  5. appender.console.layout.pattern = ${env:log4j.csl.pattern:-info}
  6. appender.Sentry=io.sentry.log4j.SentryAppender
  7. appender.Sentry.name=Sentry
  8. appender.Sentry.type=Sentry
  9. rootLogger.level = ${env:log4j.root.loglevel:-info}
  10. rootLogger.appenderRefs = stdout
  11. rootLogger.appenderRef.stdout.ref = STDOUT
  12. loggers=csl,sentry
  13. logger.csl.name = io.sirnino
  14. logger.csl.level = ${env:log4j.csl.loglevel:-debug}
  15. logger.csl.additivity = false
  16. logger.csl.appenderRefs = stdout
  17. logger.csl.appenderRef.stdout.ref = STDOUT
  18. logger.sentry.name = sentry
  19. logger.sentry.level = WARN
  20. logger.sentry.appenderRefs = Sentry

The app starts properly but, in a nutshell, seems to ignore the Sentry logger. Any idea?

答案2

得分: 2

在我的情况下,使用 log4j 2.17 版本,我需要将 packages = io.sentry.log4j2 添加到我的 log4j2.properties 文件中。

完整文件:

  1. status = error
  2. dest = err
  3. name = MyName
  4. packages = io.sentry.log4j2
  5. monitorInterval = 5
  6. appender.console.type = Console
  7. appender.console.name = LogToConsole
  8. appender.console.layout.type = JsonLayout
  9. appender.console.layout.compact = true
  10. appender.console.layout.eventEol = true
  11. appender.console.layout.properties = true
  12. appender.sentry.name = Sentry
  13. appender.sentry.type = Sentry
  14. appender.sentry.dsn = https://key@my.domain.com
  15. rootLogger.level = ${env:LOG_LEVEL:-debug}
  16. rootLogger.appenderRef.console.ref = LogToConsole
  17. rootLogger.appenderRef.sentry.ref = Sentry
英文:

In my case with log4j 2.17, I needed to add packages = io.sentry.log4j2 to my log4j2.properties file.

Full file:

  1. status = error
  2. dest = err
  3. name = MyName
  4. packages = io.sentry.log4j2
  5. monitorInterval = 5
  6. appender.console.type = Console
  7. appender.console.name = LogToConsole
  8. appender.console.layout.type = JsonLayout
  9. appender.console.layout.compact = true
  10. appender.console.layout.eventEol = true
  11. appender.console.layout.properties = true
  12. appender.sentry.name = Sentry
  13. appender.sentry.type = Sentry
  14. appender.sentry.dsn = https://key@my.domain.com
  15. rootLogger.level = ${env:LOG_LEVEL:-debug}
  16. rootLogger.appenderRef.console.ref = LogToConsole
  17. rootLogger.appenderRef.sentry.ref = Sentry

答案3

得分: 1

以下是翻译好的内容:

这个将Sentry与log4j2.properties集成的解决方案对我非常有效,同时还支持标准输出日志记录。

  1. log4j.rootLogger=INFO, stdout, sentry
  2. log4j.appender.stdout=org.apache.log4j.ConsoleAppender
  3. log4j.appender.stdout.Target=System.out
  4. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
  5. log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %m%n
  6. log4j.appender.sentry=io.sentry.log4j.SentryAppender
  7. log4j.appender.sentry.Threshold=error

为了实现这一点,我不得不在我的pom.xml中添加log4j 1.x版本的sentry。

英文:

This solution for integrating sentry with log4j2.properties worked for me perfectly along with stdout logging.

  1. log4j.rootLogger=INFO, stdout, sentry
  2. log4j.appender.stdout=org.apache.log4j.ConsoleAppender
  3. log4j.appender.stdout.Target=System.out
  4. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
  5. log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %m%n
  6. log4j.appender.sentry=io.sentry.log4j.SentryAppender
  7. log4j.appender.sentry.Threshold=error

For this, I had to add log4j 1.x version of sentry to my pom.xml

答案4

得分: 0

应该也可以与log4j2.properties一起使用。您尝试过吗?失败了吗?
也许文档应该明确说明它是受支持的。

如果不起作用,您可以在GitHub上提出问题:

https://github.com/getsentry/sentry-java/issues

英文:

It should work also with log4j2.properties. Have you tried and it failed?
Maybe the docs should explicitly state that it's supported.

If it doesn't work, you can raise an issue on GitHub:

https://github.com/getsentry/sentry-java/issues

huangapple
  • 本文由 发表于 2020年9月21日 18:20:07
  • 转载请务必保留本文链接:https://go.coder-hub.com/63990349.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定