java - 如何通过 GridLogger 将日志存储到文件中?

标签 java log4j gridgain

目前我可以通过 GridLogger 在我的控制台中打印日志,但我想知道如何通过 GridLogger 将日志存储到文件中。在GridGain的conf目录下,有两个文件:gridgain-log4j.xml和java.util.logging.properties。如何在我的应用程序中加载这些文件?

谢谢, 账单

最佳答案

默认情况下,GridGain 总是将日志写入文件(如果启用了详细模式,还会将日志写入控制台)。如果您没有对配置进行任何更改,日志文件将存储在 $GRIDGAIN_HOME/work/log 文件夹中。请注意,当使用 ggstart.{sh|bat} 脚本启动节点时,$GRIDGAIN_HOME 如果未通过系统属性设置或环境变量。

如果 $GRIDGAIN_HOME 未知(例如,您在 Web 容器内以嵌入式模式运行节点),日志文件将存储在 $TMP_DIR/gridgain/work/log 文件夹,其中 $TMP_DIR 是操作系统中的临时目录。您可以通过 GridConfiguration.setWorkDirectory() 配置属性覆盖此行为。此处提供的工作目录将被不同的 GridGain 组件使用,包括记录器,它将为日志文件创建 log 子文件夹。

还有一个选项可以手动配置开箱即用的 GridLogger 实现之一,甚至可以提供您自己的实现。 GridLogger 实例可以通过 GridConfiguration.setLogger() 属性设置。

默认情况下,GridGain 使用配置有 java.util.logging.properties 文件的 Java 记录器。如果你想切换到 log4j,你需要启用 gridgain-log4j 模块 - logger 将自动更改并使用 gridgain-log4j.xml 配置。有关如何启用/禁用模块的更多信息,请参阅位于 GridGain 分发的 libs 文件夹中的 readme.txt 文件。

关于java - 如何通过 GridLogger 将日志存储到文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25775058/

相关文章:

Java:Java 6 何时准备好用于最终用户桌面应用程序?

java - 当 Log4j 创建 java.io.FileOutputStream 时,如何使用 Powermockito 模拟 java.io.FileOutputStream?

java - #commit 或 #rollback 之后不调用 org.apache.ignite.transactions.Transaction#close 会导致泄漏/问题吗?

java - 在linux中使用java web服务进行IPC(进程间通信)

java - 将日期文本更改为日期

java - 如何将组件添加到JFrame子类的子类中

java - LOG4J 中日志文件的最佳大小是多少?

grails - 如何解决此错误消息 "log4j:ERROR Property missing when configuring log4j: grails"

caching - Ignite Write 内部结构

docker - 由于 'accept loop for ServerSocket[addr=0.0.0.0/0.0.0.0..',Ignite TcpDiscoverySpi 失败并出现 SocketTimeout 的严重系统错误