在Java web项目中,如何使log4j在每个会话的基础上记录到不同的文件?
我试图调试一个发生在客户端站点上的问题,它只发生在客户端站点上,因此我无法在我们的实验室环境中测试它,但是客户端一直在使用系统,因此日志文件中的数据量非常大。此外,如果我将日志记录切换到调试,那么命中单个文件的日志写入量将使服务器崩溃在Java web项目中,如何使log4j在每个会话的基础上记录到不同的文件?,java,servlets,log4j,Java,Servlets,Log4j,我试图调试一个发生在客户端站点上的问题,它只发生在客户端站点上,因此我无法在我们的实验室环境中测试它,但是客户端一直在使用系统,因此日志文件中的数据量非常大。此外,如果我将日志记录切换到调试,那么命中单个文件的日志写入量将使服务器崩溃 如何让应用程序将每个http会话记录到不同的日志文件?为了缓解文件的拥塞并使日志文件更具可读性?磁盘在按顺序写入/读取时的性能最好。写入多个文件而不是一个文件对于磁盘来说是一项更大的工作,因为它必须在文件之间跳转。出于性能原因,我不建议使用多个文件。但是,能够调试
如何让应用程序将每个http会话记录到不同的日志文件?为了缓解文件的拥塞并使日志文件更具可读性?磁盘在按顺序写入/读取时的性能最好。写入多个文件而不是一个文件对于磁盘来说是一项更大的工作,因为它必须在文件之间跳转。出于性能原因,我不建议使用多个文件。但是,能够调试有限数量的会话可能很有用 您可以为每个会话创建一个记录器,方法是将会话id包含在该会话的记录器名称中。然后,可以在不同的日志级别将每个会话记录到不同的文件中
但是,您可能会发现,对于这种级别的控制,您希望自己编写文件,并更紧密地控制它们的行为。e、 g.写入GZIP文件可能会显著减少IO。是否有允许您写入GZIP文件的log4j或Logback的附加器/配置?您可以写入一个,我不知道现有的附加器/配置。