unity log4net

unity log4net


unity log4net

log4.et.confog.xml

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<appender name="Error" type="log4net.Appender.RollingFileAppender">
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<file value="..\logs\" />
<datePattern value="yyyy-MM-dd/&quot;Error.log&quot;" />
<staticLogFileName value="false" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<param name="Encoding" value="utf-8" />

<layout type="log4net.Layout.PatternLayout">
  <conversionPattern value="记录时间:%date ;线程ID:[%thread] ;描述:%message%newline %n" />
</layout>
</appender>


<appender name="Debug" type="log4net.Appender.RollingFileAppender">
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<file value="..\logs\" />
<datePattern value="yyyy-MM-dd/&quot;Debug.log&quot;" />
<staticLogFileName value="false" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<param name="Encoding" value="utf-8" />

<layout type="log4net.Layout.PatternLayout">
  <conversionPattern value="记录时间:%date ;线程ID:[%thread] ;描述:%message%newline %n" />
</layout>
</appender>


    <appender name="Info" type="log4net.Appender.RollingFileAppender">
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<file value="..\logs\" />
<datePattern value="yyyy-MM-dd/&quot;Info.log&quot;" />
<staticLogFileName value="false" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<param name="Encoding" value="utf-8" />

<layout type="log4net.Layout.PatternLayout">
  <conversionPattern value="记录时间:%date ;线程ID:[%thread] ;描述:%message%newline %n" />
</layout>
</appender>


<appender name="Fatal" type="log4net.Appender.RollingFileAppender">
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<file value="..\logs\" />
<datePattern value="yyyy-MM-dd/&quot;Fatal.log&quot;" />
<staticLogFileName value="false" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<param name="Encoding" value="utf-8" />

<layout type="log4net.Layout.PatternLayout">
  <conversionPattern value="记录时间:%date ;线程ID:[%thread] ;描述:%message%newline %n" />
</layout>
</appender>


    <appender name="Warn" type="log4net.Appender.RollingFileAppender">
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<file value="..\logs\" />
<datePattern value="yyyy-MM-dd/&quot;Warn.log&quot;" />
<staticLogFileName value="false" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<param name="Encoding" value="utf-8" />

<layout type="log4net.Layout.PatternLayout">
  <conversionPattern value="记录时间:%date ;线程ID:[%thread] ;描述:%message%newline %n" />
</layout>
</appender>


<appender name="Other" type="log4net.Appender.RollingFileAppender">
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<file value="..\logs\" />
<datePattern value="yyyy-MM-dd/&quot;Other.log&quot;" />
<staticLogFileName value="false" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<param name="Encoding" value="utf-8" />
<layout type="log4net.Layout.PatternLayout">
  <conversionPattern value="日志级别:%-5level ;记录时间:%date ;线程名称:[%thread];描述:%message%newline %n" />
</layout>
</appender>


  <!-- Set root logger level to DEBUG and its only appender to A1 -->
<root>
<level value="ALL" />
<appender-ref ref="Other" />
</root>
  <logger name="Fatal">
<level value="FATAL"/>
<appender-ref ref="Fatal"/>
</logger>
<logger name="Error">
<level value="ERROR"/>
<appender-ref ref="Error"/>
</logger>
<logger name="Warn">
<level value="WARN"/>
<appender-ref ref="Warn"/>
</logger>
<logger name="Info">
<level value="Info"/>
<appender-ref ref="Info"/>
</logger>
<logger name="Debug">
<level value="DEBUG"/>
<appender-ref ref="Debug"/>
</logger>

</log4net>

testtypes.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using log4net;
public class testtypes : MonoBehaviour {
    private ILog _log ;
    // Use this for initialization
    void Start () {
        var logfilename = Application.dataPath + "/log4net.config.xml";
        //Debug.Log(logfilename);
        //return;
        var file = new System.IO.FileInfo(logfilename);
        if (file == null)
        {
            Debug.LogError("no config:"+logfilename);
            return;
        }
        
        log4net.Config.XmlConfigurator.Configure(file);
        _log = LogManager.GetLogger("Debug");


        _log.Debug("哈哈哈哈哈哈");
        _log.Debug("12333333");
        _log.Debug(this);
        Debug.Log("finish log");
        
    }

}