在将 OptaPlanner 用作本地项目依赖项时,我可以更改它的日志记录级别吗?
Can I change OptaPlanner's logging level when using it as a local project dependency?
我在 Eclipse 中有一个使用 OptaPlanner (v8.12.0) 的项目。我希望能够在 OptaPlanner 代码本身中编写临时调试语句,所以我:
- 克隆了 repo,
- 签出分支
8.12.x
,
- 使用
mvn
、 构建
- 作为预先存在的 Maven 项目导入
optaplanner-core
(同样是 Eclipse),并且
- 从我的 Gradle 依赖项中删除了
optaplanner-core
依赖项
编译和运行一切正常,但 OptaPlanner 不再响应我的日志配置更改。
我们使用的是 Log4j2,并且在使用标准构建过程 (Gradle) 提取 OptaPlanner 时,我可以使用 Log4j2 配置设置日志级别。但是,将 src 作为项目依赖项,它不起作用。
我试过:
- 包括本地
logback.xml
- 添加添加为 vm arg:
-Dlogging.level.org.optaplanner=trace
- 添加添加为 vm arg:
-Dlog4j.configurationFile=C:\path\to\log4j2.xml
- 设置环境变量
LOGGING_CONFIG=C:\path\to\logback.xml
- 使用
Configurator
以编程方式设置级别
OptaPlanner 仅将 Logback 作为 scoped-to-test 依赖项。
要获取 OptaPlanner 的本地副本以获取您的日志配置,您需要(在本地)将您的日志记录依赖项添加到 OptaPlanner 构建路径。
对我来说,这意味着向 OptaPlanner 添加 Log4j2 依赖项 pom.xml
:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>pick.your.favorite</version>
</dependency>
我还删除了范围测试依赖项,以确保它不会搞砸任何事情。
我怀疑,对于那些不使用依赖管理工具的人,您可以手动将 JAR 添加到构建路径。
我在 Eclipse 中有一个使用 OptaPlanner (v8.12.0) 的项目。我希望能够在 OptaPlanner 代码本身中编写临时调试语句,所以我:
- 克隆了 repo,
- 签出分支
8.12.x
, - 使用
mvn
、 构建
- 作为预先存在的 Maven 项目导入
optaplanner-core
(同样是 Eclipse),并且 - 从我的 Gradle 依赖项中删除了
optaplanner-core
依赖项
编译和运行一切正常,但 OptaPlanner 不再响应我的日志配置更改。
我们使用的是 Log4j2,并且在使用标准构建过程 (Gradle) 提取 OptaPlanner 时,我可以使用 Log4j2 配置设置日志级别。但是,将 src 作为项目依赖项,它不起作用。
我试过:
- 包括本地
logback.xml
- 添加添加为 vm arg:
-Dlogging.level.org.optaplanner=trace
- 添加添加为 vm arg:
-Dlog4j.configurationFile=C:\path\to\log4j2.xml
- 设置环境变量
LOGGING_CONFIG=C:\path\to\logback.xml
- 使用
Configurator
以编程方式设置级别
OptaPlanner 仅将 Logback 作为 scoped-to-test 依赖项。
要获取 OptaPlanner 的本地副本以获取您的日志配置,您需要(在本地)将您的日志记录依赖项添加到 OptaPlanner 构建路径。
对我来说,这意味着向 OptaPlanner 添加 Log4j2 依赖项 pom.xml
:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>pick.your.favorite</version>
</dependency>
我还删除了范围测试依赖项,以确保它不会搞砸任何事情。
我怀疑,对于那些不使用依赖管理工具的人,您可以手动将 JAR 添加到构建路径。