【发布时间】:2017-01-11 22:51:03
【问题描述】:
我正在寻找一些关于为我用 Java 编写的游戏服务器编写日志的最佳/常见做法的建议(第一次使用服务器/客户端概念,我从未做过任何关于日志记录的事情)。我尝试了一些谷歌搜索,但所涉及的关键字有点模糊,没有为我的问题提供任何答案。
我有一个包含用户、游戏大厅和游戏的服务器。我认为我应该创建一个日志来记录服务器上发生的所有事情。在这个日志中,我认为我应该记录服务器本身(启动、关闭、正在处理的命令)和套接字连接(新/丢失的客户端、传入/传出消息)的状态变化。
我不确定这是否是最好的做法,或者相反/还有一个日志,其中包含更多人类可读的消息,例如“Bob781 加入了第 4 号大厅”。或“microman12 在比赛中击败 sun44。”
- 我应该将日志写入控制台还是文件? (2 个单独的文件?)
- 什么格式最好或最常用?它们应该是相同的格式吗?
- 我遇到过“Common Log Format”,这是套接字连接的最佳格式选择吗?可以用于服务器状态吗?
- 我应该在 java.util.logging 中使用一些东西还是自己输出字符串?
【问题讨论】:
-
将日志写入服务器控制台的意义何在?没有人会看到它。即使尝试也完全浪费时间。此外,服务器程序在后台运行,因此它们没有控制台可以写入。
-
我总是在从头开始之前寻找现有的解决方案。我知道一个事实,根据日志消息的类型将日志输出到不同的文件是非常有帮助的。这也带来了您想要进行多少日志记录的问题?也许以某种大小创建另一个文件或覆盖现有文件...很多可能性。
-
@RAZ_Muh_Taz 我想我真的只是想做足够多的日志记录来学习它的基础知识。
-
@Andreas 我认为你是对的。但我认为这在开发过程中会很好,这样您就可以在继续构建服务器时监控和验证服务器上发生的事情。
-
@tribes891 这是用于开发的,但您的问题是关于如何在服务器上设置/配置日志记录。 配置日志记录的能力是您应该使用诸如Apache Log4j、Logback、java.util.logging、...等日志记录库的原因。
标签: java logging server format