小编Sub*_*o M的帖子

将 log4net 文件推送到 ElasticSearch

我已经编写了 c# WebAPI,并想使用 log4net 将请求记录到文件中。将日志写入日志文件后,我想将这些日志文件(将使用 DelegateHandler 捕获所有请求)推送到 ElasticSearch。我到处搜索但找不到解决我的问题的方法。以下是我拥有的 log4net.config 文件(ElasticAppender 不起作用)

   <log4net>
     <root>
       <appender-ref ref="FileAppender" />
       <appender-ref ref="ElasticSearchAppender" />
     </root>
     <appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
       <file type="log4net.Util.PatternString" value="Logs/API_.log" />
       <appendToFile value="true" />
       <rollingStyle value="Composite" />
       <datePattern value="yyyy-MM-dd" />
       <maximumFileSize value="10MB" />
       <preserveLogFileNameExtension value="true"/>
       <staticLogFileName value="false" />
       <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%date{HH:mm:ss.fff}, %message%newline" />
       </layout>
       <filter type="log4net.Filter.LevelRangeFilter">
          <levelMin value="DEBUG" />
          <levelMax value="ERROR" />
       </filter>
     </appender>
     <appender name="ElasticSearchAppender" type="log4net.ElasticSearch.ElasticSearchAppender, log4stash">
       <Server>elasticnode01</Server>
       <Port>9200</Port>
       <IndexName>apilogentry</IndexName>
       <ElasticFilters>
          <Filter type="log4net.ElasticSearch.Filters.RenameKeyFilter, log4stash">
            <Key>processId</Key>
            <RenameTo>ServiceName</RenameTo>
          </Filter>
          <Filter type="log4net.ElasticSearch.Filters.RenameKeyFilter, log4stash">
            <Key>Message</Key>
            <RenameTo>message</RenameTo> …
Run Code Online (Sandbox Code Playgroud)

c# log4net elasticsearch

5
推荐指数
1
解决办法
9862
查看次数

标签 统计

c# ×1

elasticsearch ×1

log4net ×1