11using System ;
22using System . IO ;
3+ using System . Linq ;
34using log4net ;
45using log4net . Appender . Dynamic ;
56
@@ -18,9 +19,9 @@ public class LogUtility : IDisposable
1819 {
1920 bool _disposed = false ;
2021
21- //public static readonly ILog Default = log4net.LogManager.GetLogger( "SynapseNodeServer" );
22+ //public static readonly ILog Default = log4net.LogManager.GetLogger( "SynapseNodeServer" );
2223
23- public IDynamicAppender _dynamicAppender = null ;
24+ public IDynamicAppender _dynamicAppender = null ;
2425 public ILog _logger = null ;
2526
2627 public LogUtility ( )
@@ -34,16 +35,16 @@ public LogUtility()
3435 public void InitDefaultLogger ( string loggerName , string appenderName ,
3536 string logfileName , string conversionPattern , string levelName = "ALL" )
3637 {
37- //_logger = log4net.LogManager.GetLogger( "SynapseNodeServer" );
38- _dynamicAppender = new RollingFileAppenderHelper ( loggerName , appenderName , logfileName , conversionPattern , levelName ) ;
39- _logger = _dynamicAppender . Log ;
38+ //_logger = log4net.LogManager.GetLogger( "SynapseNodeServer" );
39+ _dynamicAppender = new RollingFileAppenderHelper ( loggerName , appenderName , logfileName , conversionPattern , levelName ) ;
40+ _logger = _dynamicAppender . Log ;
4041 }
4142
4243 public void InitDynamicFileAppender ( string loggerName , string appenderName ,
4344 string logfileName , string conversionPattern , string levelName = "ALL" )
4445 {
45- _dynamicAppender = new DynamicFileAppender ( loggerName , appenderName , logfileName , conversionPattern , levelName ) ;
46- _logger = _dynamicAppender . Log ;
46+ _dynamicAppender = new DynamicFileAppender ( loggerName , appenderName , logfileName , conversionPattern , levelName ) ;
47+ _logger = _dynamicAppender . Log ;
4748 }
4849
4950 #region Write/WriteFormat
@@ -77,28 +78,33 @@ public void Write(LogLevel level, object message, Exception ex = null, ILog logg
7778
7879 switch ( level )
7980 {
80- case LogLevel . Debug : logger . Debug ( message ) ;
81+ case LogLevel . Debug :
82+ logger . Debug ( message ) ;
8183 break ;
8284
83- case LogLevel . Error : logger . Error ( message , ex ) ;
85+ case LogLevel . Error :
86+ logger . Error ( message , ex ) ;
8487 break ;
8588
86- case LogLevel . Fatal : logger . Fatal ( message , ex ) ;
89+ case LogLevel . Fatal :
90+ logger . Fatal ( message , ex ) ;
8791 break ;
8892
89- case LogLevel . Info : logger . Info ( message ) ;
93+ case LogLevel . Info :
94+ logger . Info ( message ) ;
9095 break ;
9196
92- case LogLevel . Warn : logger . Warn ( message ) ;
97+ case LogLevel . Warn :
98+ logger . Warn ( message ) ;
9399 break ;
94100 }
95101 }
96102 #endregion
97103
98- public void CloseLog ( )
99- {
100- _dynamicAppender . Dispose ( ) ;
101- }
104+ public void CloseLog ( )
105+ {
106+ _dynamicAppender . Dispose ( ) ;
107+ }
102108
103109 #region IDisposable Members
104110 public void Dispose ( )
@@ -113,4 +119,23 @@ public void Dispose()
113119 }
114120 #endregion
115121 }
116- }
122+
123+ public class Log4netHelpers
124+ {
125+ public static string GetLogFileName ( string name )
126+ {
127+ var rootAppender = LogManager . GetRepository ( )
128+ . GetAppenders ( )
129+ . OfType < log4net . Appender . FileAppender > ( )
130+ . FirstOrDefault ( fa => fa . Name == name ) ;
131+
132+ return rootAppender ? . File ;
133+ }
134+
135+ public static string GetLogFileFolder ( string name )
136+ {
137+ string fullPath = GetLogFileName ( name ) ;
138+ return string . IsNullOrWhiteSpace ( fullPath ) ? Path . GetDirectoryName ( fullPath ) : null ;
139+ }
140+ }
141+ }
0 commit comments