问题标签 [logback-groovy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Logback AsyncAppender 无法打印方法名称和行号
我正在使用 logback AsyncAppender ch.qos.logback.core.rolling.RollingFileAppender 将日志打印到具有以下配置的文件。如果在控制台上打印,一切正常,但在日志文件中,方法名称和行号打印为“?” 特点。
回退配置
样本输出
所需输出
java - 将错误记录到两个附加程序
我正在尝试配置 Logback(在 Grails 中使用 Groovy 配置),以便:
- 任何错误(来自任何地方)都会记录到滚动文件并发送电子邮件
- 我的类的所有调试输出都发送到滚动文件
这是我到目前为止所拥有的:
滚动文件似乎得到了我的期望(至少从我的包中调试),但EMAIL
附加程序一无所获。
如何将错误发送到EMAIL
附加程序?
spring-boot - Sprint 启动 - 在 logback.groovy 中获取环境或活动配置文件
在 logback-spring.xml 中,我知道可以访问环境属性(在我的情况下是活动配置文件),但我正在寻找 groovy 等价物。
tomcat - No logs from Grails 3.x application under Tomcat
I have Grails 3.x application. It runs well on development machine and it's logging level in grails-app/conf/logback.groovy
is set to INFO
Unfortunately, when I run on production server there are no any word from my application in logs.
I found several similar questions on this topic, but they are answering about log4j. This is probably about previous version of Grails. I have logback, not log4j.
So, what to do for Grails logging under Tomcat production environment?
java - 使用带有 gradle 的 logback classic 时无法加载 logback 配置
我正在尝试在使用 gradle 作为构建工具的项目中设置 logback。这是构建文件
这是logback.groovy
包含 logback 配置的文件
当我尝试记录一些东西时,我收到了这个 SLF4J 警告
为了解决这个问题,我按照这个堆栈溢出问题的答案并将这个额外的代码添加到我的构建文件中
虽然这解决了 SLF4J 警告的问题,但日志记录不起作用。我添加的日志语句不会以logback.groovy
. 日志也没有添加到文件中。有人可以指出我正确的方向吗?
grails - 为什么 stacktrace.log 没有在 grails 3 中填充 logback?
当您创建一个新的 grails 应用程序时,默认的 logback.groovy 文件(以及几乎所有 logback.groovy 示例,甚至是 Haki 先生的示例)都包含以下代码,我已对其进行了简化以专注于相关部分:
但是,遵循这种方法不会导致错误输出到 stacktrace.log 文件。
@JeffScottBrown 的答案包含以下 Bootstrap.groovy 文件,用于测试堆栈跟踪是否按预期记录:
使用该引导文件,运行 grails 应用程序不会产生任何输出到build/stacktrace.log
.
如果您删除StackTrace
记录器,并添加FULL_STACKTRACE
到根记录器:
您将在 stacktrace.log 中获得输出。
或者,将StackTrace
记录器重命名为grails.app.init.Bootstrap
(感谢@JeffScottBrown 的这一行):
你会得到输出到stacktrace.log
这个观察让我相信StackTrace
记录器没有做任何事情。我进一步被引导相信任何没有为包命名的记录器都不起作用。
由于这一切,我的问题是:
- logback 是否适用于非包/类命名的记录器?
- 如果是这样,为什么
StackTrace
默认的记录器logback.groovy
不会输出到stacktrace.log?
编辑:
- 对我来说主要问题是
StackTrace
记录器似乎完全没有必要,那么为什么它包含在默认文件中?
第二次编辑:
确认这一点的另一种方法是仅让StackTrace
记录器写入STDOUT
附加程序,并在您抛出异常时观察堆栈跟踪从控制台消失:
logger("StackTrace", ERROR, ['STDOUT','FULL_STACKTRACE'], false)
root(ERROR, [])
xml - 将 XML 回写到 Groovy
我有一个 Loback XML 配置文件。我需要使用 Groovy 进行相同的配置。作为 Groovy 的新手,我不知所措。我在http://logback.qos.ch/translator/asGroovy.html尝试了在线翻译,但它没有用。可能是因为配置中包含 SpringProfile 和 Janino 条件处理。XML 代码是这样的。
如果有人帮助我在 Groovy 中进行相同的配置,我将不胜感激。
logging - LogBack,如何在某些环境中禁用
我正在为我的应用程序使用 Logback 日志记录,但我希望根据环境不使用某些日志。例如,我有
我想在我的开发环境中运行所有记录器,但是当我在我的产品环境中时禁用 INFOS 记录。
我不确定如何做到这一点,也许有一些条件语句?
java - 如何使 Log4j 环境特定
我正在尝试编辑我的日志记录配置文件,以便日志的级别会根据它在开发环境或生产环境中的不同而有所不同,例如
在开发中将是
在生产中,记录器应该是
有没有办法通过环境变量和条件语句来做到这一点?我想尽量避免每个环境都有一个特定的日志文件
java - Centos 6:Java 应用程序不记录到 var/log
我们有一台最近在 OpenStack 中启动的 CentOs6 机器。我们公司应用程序的部署包括构建一个 war 文件并将其放置在 /usr/share/tomcat/webapps 中。我们已经将它部署到大约一个月前创建的其他 CentOs6 机器上,它将应用程序日志记录到/var/log/myAppName/specifiLogFile.log就好了。它仅在不工作的新机器上(请注意假定具有相同配置的旧机器)。
我相信我们已经将范围缩小到服务器本身而不是应用程序。我们为其构建战争文件的其他项目,部署到新盒子也应该记录到/var/log/myOtherApp/otherLogFile.log,但不要。
我想知道是否有任何地方可以查看为什么没有在/var/log/ 中生成应用程序日志... 是什么原因导致的?
应用程序日志目录的权限为 660,并且正确的用户具有读写权限。
我试过的:
在 logback 中启用调试并调查以下日志的问题: tomcat/logs/catalina.out、tomcat/logs/localhost.2016-06-05.log、/var/log/messages
唯一的另一个区别是我们的旧应用程序运行的是 Java 7,而新的 CentOs 机器应该在 Java 8 上。即使升级到 Java 8,问题仍然存在。
编辑: 包括我的 logback 配置,但我必须说这个配置在我大约一个月前创建的服务器上运行良好......我确信这与新服务器本身的一些配置有关。