solr - Solr 到 Application Insights
问题描述
如何配置 Solr 日志以发送到 Azure Application Insights?
我看到可以使用 Log4J 附加程序。 https://docs.microsoft.com/en-us/azure/application-insights/app-insights-java-trace-logs
Solr 是一个开源项目,我自己不编译,我只是使用发行版。
如何在不重新编译安装 SDK 的情况下加入 Application Insights/Log4J appender?我只想配置日志以发送到应用程序 insghts,以有效地用于第 3 方应用程序。并配置检测密钥。
我通常是 C# 开发人员,但熟悉 Log4Net。因此,如果这在 Java Log4J 中很简单,那么很抱歉。找不到适合这种情况的帖子,所以在这里发帖。
使用 Solr 6.6。
解决方案
它所需的配置比您预期的要少得多,并且大部分信息都隐藏在您已经获得的链接中:https ://docs.microsoft.com/en-gb/azure/azure-monitor/应用程序/java 跟踪日志
首先,从https://github.com/Microsoft/ApplicationInsights-Java/releases下载 jar 文件。你会想要applicationinsights-logging-log4j1_2-2.3.0
和applicationinsights-core-2.3.0
。将这些放在 server/lib 文件夹中,Solr 会自动为您加载它们。
接下来,您需要在 log4j.properties 文件中添加一个新的附加程序以获取应用洞察
# Appinsights
log4j.appender.aiAppender=com.microsoft.applicationinsights.log4j.v1_2.ApplicationInsightsAppender
log4j.appender.aiAppender.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.aiAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} %m%n
您还需要将其添加aiAppender
到log4j.rootLogger
同一文件中的列表中(它可能看起来像这样 log4j.rootLogger=INFO, file, CONSOLE, aiAppender
:)
最后,您需要一个 ApplicationInsights.xml 文件,您可以从此处获取示例https://docs.microsoft.com/en-gb/azure/azure-monitor/app/java-get-started#2-add -the-application-insights-sdk-for-java-to-your-project
将其放在服务器/资源文件夹中,设置您的检测密钥,您就可以开始了!
推荐阅读
- c# - 多线程图像处理程序
- excel - 如何在excel中为三列绘制数据,其中三列是一个区别因素?
- css - 仅为选项卡内容添加滚动,但不为清晰选项卡中的选项卡标签添加滚动
- c - 可读性 CS50,pset2
- .htaccess - htaccess 仅从 THE_REQUEST 提取路径到变量中
- ios - 如何将 SwiftUI Image 转换回 UIImage?
- reactjs - 每次我向后导航时都会调用 useeEffect 中的 React settimeout
- android - 在特定场景中单击 ExpandableListView.onGroupClick 上的子项后检查视图
- python - 根据一片熊猫数据框设置特定列中的行值 - 同时使用 loc 和 iloc
- javascript - 无法将表单数据存储到会话存储中