gpt4 book ai didi

logging - 如何抑制继承的项目 logback.xml 文件(单个项目中有 2 个 logback.xml)?

转载 作者:行者123 更新时间:2023-12-03 11:41:20 25 4
gpt4 key购买 nike

我有项目 com.samedhi/base 有一个 logback.xml 文件和项目 com.samedhi/derive 还有一个 logback.xml 文件。项目' 派生 ' 依赖于 ' 底座 '。当我“lein trampoline repl”在'派生 ',我收到以下警告。

....
15:34:30,066 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
15:34:30,066 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
15:34:30,066 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/home/stephen/Work/com.samedhi/derive/client/config/logback.xml]
15:34:30,067 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs multiple times on the classpath.
15:34:30,067 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs at [jar:file:/home/stephen/.m2/repository/com/samedhi/base.app/0.0.1-SNAPSHOT/base.app-0.0.1-SNAPSHOT.jar!/logback.xml]
15:34:30,067 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs at [file:/home/stephen/Work/com.samedhi/derive/client/config/logback.xml]
15:34:30,129 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
....

所以,问题似乎是我的类路径中有两个 logback.xml。我应该怎么做才能“压制”项目' 中的 logback.xml底座 ' 当我从 ' lein 回复派生 ' 项目?

最佳答案

就我而言,您永远不应该在 JAR 文件中打包日志配置文件(logback.xml、log4j.properties 或您拥有的内容)。甚至拥有日志配置文件的全部意义在于使最终用户可以轻松地通过编辑文件来调整日志级别。将其埋在文件中违背了这样做的目的,因为要更改日志记录级别,您的用户必须展开文件、编辑文件,然后重新打包文件。

这是我对已部署应用程序的首选布局。设置需要更多的工作,但 IMO 值得麻烦,因为它为您提供了 uberjar 所没有的灵活性和配置简易性。

my-app/
bin/
run-app.sh
config/
logback.xml
lib/
my-lib.jar
my-app.jar

您的 run-app.sh脚本看起来像:
BIN=`dirname "$0"`
BASE=$BIN/..
java -cp "$BASE/config:$BASE/lib/*" my-app.main

这样做的好处是,通过将 config 目录放在类路径的前面,在那里找到的任何日志配置文件都应该优先于可能在其中一个 JAR 中找到的任何内容(例如,包含在您拥有的第三方库中)无法控制)。

关于logging - 如何抑制继承的项目 logback.xml 文件(单个项目中有 2 个 logback.xml)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18263139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com