使用 Spring Batch 时正确的日志记录方法是什么?

发布于 2024-11-08 05:24:02 字数 109 浏览 0 评论 0原文

使用 Spring Batch 时正确的日志记录方法是什么?我应该使用 log4j (或类似的东西)还是 Spring Batch 提供了一些工具来帮助我实例化记录器并使用它?也许是记录器的某种依赖注入?

What is the right logging approach when using Spring Batch? Should I use log4j (or something similar) or Spring Batch provides some instruments that help me to instantiate a logger and use it? Maybe some sort of dependency injection of the logger?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

李不 2024-11-15 05:24:02

我用过log4j。这是简单而美好的方法。

I'd used log4j. and its the simple and nice approach.

凹づ凸ル 2024-11-15 05:24:02

我不确定原始发帖者的问题是否得到解答,所以我会尝试重述一下。在 Spring Batch 中,您可能有多个线程在运行,并且您可能希望进行特定于作业的日志记录,以便特定作业的所有事件都记录到单个日志文件中。您需要一个其范围与您正在处理的作业直接相关的记录器。当作业完成时,记录器(以及对记录器的所有引用)就会消失。

因此,当您提交Job#1时,所有事件都会记录到“job_1.log”;当您提交 Job#2 时,其事件将记录到 "job_2.log" 等。

在 log4j 中,当您执行 "Logger.getLogger('mylogger ')" 您正在告诉 LogManager 从缓存中获取 'mylogger' 并将其提供给您。您真正想要的是记录器的新实例,使用 mylogger 的配置进行配置。在 Spring 中,这通常可以使用原型 bean 来完成。每次您询问 'mylogger' 的上下文时,您都会得到一个新实例。

I'm not sure the original poster's question was answered, so I'll try restating this a bit. In Spring Batch you may have multiple threads going, and you may want to have job-specific logging, so that all events for a particular job are logged into a single log file. You want a Logger whose scope is tied directly to the job you are processing. When the job finishes, the logger (and all references to the logger) go away.

So when you submit Job#1, all events are logged to "job_1.log"; when you submit Job#2, its events are logged to "job_2.log", etc.

In log4j, when you do "Logger.getLogger('mylogger')" you are telling the LogManager to get 'mylogger' out of the cache and give it to you. What you really want is a new instance of the logger, configured using the configuration of mylogger. In Spring this might be typically done with a prototype bean. Every time you ask the context for 'mylogger' you would get a new instance.

烟沫凡尘 2024-11-15 05:24:02

您应该考虑 Slf4J(日志记录 API)+ Logback(日志记录实现),因为 Log4j 旨在通过此二重奏来继承。

更多的:
http://www.slf4j.org/
http://logback.qos.ch/

You should think about Slf4J (logging API) + Logback (logging implementation) as Log4j is intented to be succeeded by this duet.

More:
http://www.slf4j.org/
http://logback.qos.ch/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文