zoukankan      html  css  js  c++  java
  • 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";
                        }
                    }
  • 相关阅读:
    【1】Chrome
    Vue
    GitHub版本控制工具入门(一)
    Vue.js 组件笔记
    最全的javascriptt选择题整理
    网站如何实现 在qq中发自己链接时,便自动获取链接标题、图片和部分内容
    js 唤起APP
    密码加密MD5,Bash64
    HTTP和HTTPS的区别及HTTPS加密算法
    计算机网络七层的理解
  • 原文地址:https://www.cnblogs.com/chucklu/p/13266711.html
Copyright © 2011-2022 走看看