Nik*_*sov 3 java logging spring log4j netty
我正在开发一个基于其他框架,netty和spring的游戏服务器.
我想知道使用log4j为每个游戏室生成一个单独的文件是否是一个好方法.由于许多游戏室服务器必须保持打开很多日志文件.另一方面,只有一个日志文件,这将是一个混乱,在分析问题时需要解析和过滤.
如果我需要知道如何实现它,许多日志文件仍然是一个很好的方法.我已经看过这个问题,配置log4j在运行时登录到自定义文件,但第一个答案不清楚,如何最小化每次尝试写入单独日志文件所需的代码行.我已经通过输入配置文件尝试了第二个答案
log4j.appender.logfile.File=${logfile.name}
Run Code Online (Sandbox Code Playgroud)
但框架有
PropertyConfigurator.configure(System.getProperty("log4j.configuration"));
Run Code Online (Sandbox Code Playgroud)
如果在开始时未指定日志文件,则会失败.
欢迎任何想法和意见!谢谢
UPD:这个链接对我来说似乎也很有用.Log4j记录到单独的文件但仍然:这是一个好主意,以及如何以最少的编码动态切换输出日志文件.
真的,当涉及到它时,拥有多个游戏室的日志文件将是矫枉过正的.文件I/O会对性能产生影响,即使这可以忽略不计.此外,作为程序员,我们有许多工具可用于解析和过滤信息,事实上这样做似乎更合理.
例如,只要每个游戏室在记录时匹配特定模式,您就可以轻松使用grep和Linux >运算符来解析游戏室X的所有数据并写入另一个文件,您可以单独分析它.让生产服务器执行此操作,当您可能甚至不查看日志时,不是资源的最佳使用.
例如,运行此命令可以快速获取有关游戏室X的所有信息:
grep "game room x" mainLog.log > outputToAnalyze.log
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
451 次 |
| 最近记录: |