在applciation之后通过.net -reactor对Log4net输出随机方法名称进行模糊处理

时间:2017-12-08 10:46:24

标签: c# .net-4.5 log4net obfuscation net-reactor

我使用.net reactor对我的应用程序进行了模糊处理。应用程序正常工作,然后在某些地方通过log4net创建的日志文件中的方法名称将作为随机字符串。 奇怪的是在同一方法中不同的日志会带来不同的行为。一些使用实际方法名称,而另一些使用随机方法名称。 e.g,

我的log4net appender是

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender" >
    <file value="..\\Logs\\MyApp_N1" />
    <encoding value="utf-8" />
    <appendToFile value="true" />
    <datePattern value="_yyyyMMdd'.log'" />
    <staticLogFileName value="false" />
    <rollingStyle value="Composite"/>
    <maxSizeRollBackups value="-1"/>
    <maximumFileSize value="10MB"/>
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    <filter type="log4net.Filter.LevelRangeFilter">
      <acceptOnMatch value="true" />
      <levelMin value="DEBUG" />
      <levelMax value="FATAL" />
    </filter>
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%d{yyyy-MM-dd HH:mm:ss.fff}&#9;%p&#9;MyApp&#9;N1&#9;%t&#9;%c{1}.%M&#9;%property{SessionId}&#9;%m%n" />
    </layout>
  </appender>

log4net版本2.0.8 .net reactor版本5.0

示例日志消息

2017-12-08 15:17:33.722 DEBUG TWS N1 13 MyclassName.SendMessage我的方法开始

2017-12-08 15:17:33.840 DEBUG TWS N1 13 MyclassName.urT1VHsGarQ1gTcc8O消息请求添加db id = 166364

2017-12-08 15:17:33.852 DEBUG TWS N1 13 MyclassName.SendMessage消息服务 - 发送结束

1 个答案:

答案 0 :(得分:0)

如果方法“ urT1VHsGarQ1gTcc8O”不是公共方法,则这是预期的输出。

要混淆所有公共类和方法,您需要将“ 2.保护设置”->“混淆”->“混淆公共类型”设置为“ True”。