Java Web应用程序的高级日志记录
我想为我的java web应用程序构建一个更高级的日志机制,类似于应用程序引擎日志。 我的需要是:Java Web应用程序的高级日志记录,java,google-app-engine,logging,jetty,google-cloud-logging,Java,Google App Engine,Logging,Jetty,Google Cloud Logging,我想为我的java web应用程序构建一个更高级的日志机制,类似于应用程序引擎日志。 我的需要是: 将日志流式传输到数据库(例如sql、bigquery或其他) 自动记录重要数据(如应用程序上下文、请求url、请求id、浏览器用户代理、用户id等) 对于第1点,我可以使用“缓冲”实现,将日志放入不同的列表中,并定期由一个cron(线程)收集内存中的所有日志,并将其写入数据库(也可以在另一台服务器上) 对于第2点,我发现这样做的唯一方法是将所需的对象注入到我的类(子系统)中,如ServletCon
谢谢。你真的不需要发明自行车 您可以遵循一种常见做法:
- 只需使用标准记录器将日志记录到一个文件
- (如果您需要在请求上下文中查看日志)Logback、Log4J和SLF4J支持,这就是您可以用来将当前请求放入每个日志行的功能(只需在筛选器中初始化上下文,例如放入请求id,或生成随机uuid)。以后可以按此id聚合日志条目
- 然后使用麋鹿:
- 收集日志到
- ElasticSearch用于存储日志
- 分析使用