如何为每个tomcat服务器实例编写唯一的日志文件?

时间:2018-10-29 22:18:05

标签: tomcat logging log4j java.util.logging

有两个实例,即lisxyz和lisabc,并且部署在它们上的Web应用程序指向相同的文件装载来写入日志文件。如何为每个实例生成日志文件,即类似log_lisxyz_{timestamp}.log的文件-仅包含lisxyz特定的日志,log_lisabc_{timestamp}.log包含lisabc特定的日志。

哪种方法(默认的tomcat内部日志记录-JULI或log4j)合适并且具有更多控制权?

1 个答案:

答案 0 :(得分:0)

  

如何为每个实例生成日志文件

Tomcat JULI,您可以在public static class Util { public static async Task RunOnUiThread(Action a) { await Application.Current.Dispatcher.InvokeAsync(() => { a(); }); } } public partial class MainWindow : Window { private async Task Write(string message) { var action = new Action(() => { var i = OutputListBox.Items.Count - 1; if (i >= 0) { OutputListBox.Items[i] = OutputListBox.Items[i] + message; } else { OutputListBox.Items.Add(message); } }); await Util.RunOnUiThread(action); } } 中放置一个logging.properties

WEB-INF/classes

默认情况下,org.apache.juli.FileHandler将在handlers = org.apache.juli.FileHandler ############################################################ # Handler specific properties. # Describes specific configuration info for Handlers. ############################################################ org.apache.juli.FileHandler.level = FINE org.apache.juli.FileHandler.directory = ${catalina.base}/logs org.apache.juli.FileHandler.prefix = ${classloader.webappName}_. 之后但在prefix之前添加时间戳。

  

哪种方法(默认的tomcat内部日志记录-JULI或log4j)合适并且具有更多控制权?

Log4j也包含在Tomcat文档中。它将对文件名中的日期模式提供更多支持。我认为任何一种都可以满足给出的要求。

相关问题