• NLog.Targets.ElasticSearch


    The Elasticsearch target works best with the BufferingWrapper target applied.

    By default the target assumes an Elasticsearch node is running on the localhost on port 9200.

    See wiki for parameters.

    <nlog>
      <extensions>
        <add assembly="NLog.Targets.ElasticSearch"/>
      </extensions>
      <targets>
        <target name="elastic" xsi:type="BufferingWrapper" flushTimeout="5000">
          <target xsi:type="ElasticSearch"/>
        </target>
      </targets>
      <rules>
        <logger name="*" minlevel="Info" writeTo="elastic" />
      </rules>
    </nlog>

    Versions

    Versioning follows elasticsearch versions. E.g.

    VersionElasticsearch VersionNLog Version
    7.x 7.x 4.6.x
    6.x 6.x 4.5.x

    Unhandled Exception: System.TypeInitializationException: The type initializer for 'NLogTest.Program' threw an exception. ---> NLog.NLogConfigurationException: Exception when parsing C:Usersclusource eposNLogTestNLogTestinDebugNLog.config. ---> NLog.NLogConfigurationException: Target 'elastic' not found for logging rule: *.
    at NLog.Config.LoggingConfigurationParser.ParseLoggingRuleTargets(String writeTargets, LoggingRule rule)
    at NLog.Config.LoggingConfigurationParser.ParseRuleElement(ILoggingConfigurationElement loggerElement)
    at NLog.Config.LoggingConfigurationParser.ParseRulesElement(ILoggingConfigurationElement rulesElement, IList`1 rulesCollection)
    at NLog.Config.LoggingConfigurationParser.LoadConfig(ILoggingConfigurationElement nlogConfig, String basePath)
    at NLog.Config.XmlLoggingConfiguration.ParseNLogElement(ILoggingConfigurationElement nlogElement, String filePath, Boolean autoReloadDefault)
    at NLog.Config.XmlLoggingConfiguration.ParseTopLevel(NLogXmlElement content, String filePath, Boolean autoReloadDefault)
    at NLog.Config.XmlLoggingConfiguration.Initialize(XmlReader reader, String fileName, Boolean ignoreErrors)
    --- End of inner exception stack trace ---
    at NLog.Config.XmlLoggingConfiguration.Initialize(XmlReader reader, String fileName, Boolean ignoreErrors)
    at NLog.Config.XmlLoggingConfiguration..ctor(XmlReader reader, String fileName, LogFactory logFactory)
    at NLog.Config.LoggingConfigurationFileLoader.LoadXmlLoggingConfiguration(XmlReader xmlReader, String configFile, LogFactory logFactory)
    at NLog.Config.LoggingConfigurationFileLoader.LoadXmlLoggingConfigurationFile(LogFactory logFactory, String configFile)
    at NLog.Config.LoggingConfigurationFileLoader.TryLoadLoggingConfiguration(LogFactory logFactory, String configFile, LoggingConfiguration& config)
    at NLog.Config.LoggingConfigurationFileLoader.TryLoadFromFilePaths(LogFactory logFactory, String filename)
    at NLog.Config.LoggingConfigurationFileLoader.Load(LogFactory logFactory, String filename)
    at NLog.Config.LoggingConfigurationWatchableFileLoader.Load(LogFactory logFactory, String filename)
    at NLog.LogFactory.get_Configuration()
    at NLog.LogFactory.GetLoggerThreadSafe(String name, Type loggerType)
    at NLog.LogManager.GetCurrentClassLogger()
    at NLogTest.Program..cctor() in C:Usersclusource eposNLogTestNLogTestProgram.cs:line 10
    --- End of inner exception stack trace ---
    at NLogTest.Program.Main(String[] args)

    手动配置

      var targetName = "elastic";
                    var target = LogManager.Configuration.FindTargetByName(targetName);
                    if (target is BufferingTargetWrapper bufferingTargetWrapper)
                    {
                        if (bufferingTargetWrapper.WrappedTarget is ElasticSearchTarget elasticSearchTarget)
                        {
                            Console.WriteLine(elasticSearchTarget.Uri);
                            Console.WriteLine(elasticSearchTarget.Index);
                            //elasticSearchTarget.Uri = "http://172.31.211.17:9200/";
                            //elasticSearchTarget.Index = "logstash-20200708-001";
                        }
                    }
  • 相关阅读:
    11.【原创】Object.keys()的一般用法
    5. 【原创】table设置text-overflow: ellipsis;(超出范围显示...)不生效
    12.【转载】vscode默认常用快捷键
    13.【原创】JS读取apk安装包的信息,做应用上传
    11.【原创】chrom文件上传后,手动释放内存
    26.Mysql "truncate"与"delete"的区别
    25.【转载】Mysql timestamp类型字段的CURRENT_TIMESTAMP与ON UPDATE CURRENT_TIMESTAMP属性
    bof
    ctf Wiener tricky
    分解大素数
  • 原文地址:https://www.cnblogs.com/chucklu/p/13266711.html
Copyright © 2020-2023  润新知