11using System ;
2+ using System . IO ;
3+ using System . Linq ;
24using System . Reflection ;
5+ using System . Text ;
36using System . Threading ;
7+ using System . Threading . Tasks ;
8+ using AWS . Logger . Log4net ;
49using AWS . Logger . TestUtils ;
510using log4net ;
611using log4net . Config ;
@@ -12,13 +17,18 @@ public class Log4NetTestClass : BaseTestClass
1217 {
1318 public ILog Logger ;
1419
15- private void GetLog4NetLogger ( string fileName , string logName )
20+ private void GetLog4NetLogger ( string fileName , string logName , string logGroupName )
1621 {
1722 // Create logger
1823 var repositoryAssembly = typeof ( Log4NetTestClass ) . GetTypeInfo ( ) . Assembly ;
1924 var loggerRepository = LogManager . GetRepository ( repositoryAssembly ) ;
20- XmlConfigurator . Configure ( loggerRepository , new System . IO . FileInfo ( fileName ) ) ;
21- Logger = LogManager . GetLogger ( repositoryAssembly , logName ) ;
25+ var fileInfo = new FileInfo ( fileName ) ;
26+ var fileContent = File . ReadAllText ( fileInfo . FullName ) ;
27+ using ( Stream memoryStream = new MemoryStream ( Encoding . UTF8 . GetBytes ( fileContent . Replace ( "{LOG_GROUP_NAME}" , logGroupName ) ) ) )
28+ {
29+ XmlConfigurator . Configure ( loggerRepository , memoryStream ) ;
30+ Logger = LogManager . GetLogger ( repositoryAssembly , logName ) ;
31+ }
2232 }
2333
2434 public Log4NetTestClass ( TestFixture testFixture ) : base ( testFixture )
@@ -27,42 +37,46 @@ public Log4NetTestClass(TestFixture testFixture) : base(testFixture)
2737
2838 #region Test Cases
2939 [ Fact ]
30- public void Log4Net ( )
40+ public async Task Log4Net ( )
3141 {
32- GetLog4NetLogger ( "log4net.config" , "Log4Net" ) ;
33- SimpleLoggingTest ( "AWSLog4NetGroupLog4Net" ) ;
42+ var logGroupName = $ "AWSLog4NetGroupLog4Net{ Guid . NewGuid ( ) . ToString ( ) . Split ( '-' ) . Last ( ) } ";
43+ GetLog4NetLogger ( "log4net.config" , "Log4Net" , logGroupName ) ;
44+ await SimpleLoggingTest ( logGroupName ) ;
3445 }
3546
3647 [ Fact ]
37- public void MultiThreadTest ( )
48+ public async Task MultiThreadTest ( )
3849 {
39- GetLog4NetLogger ( "MultiThreadTest.config" , "MultiThreadTest" ) ;
40- MultiThreadTestGroup ( "AWSLog4NetGroupLog4NetMultiThreadTest" ) ;
50+ var logGroupName = $ "AWSLog4NetGroupLog4NetMultiThreadTest{ Guid . NewGuid ( ) . ToString ( ) . Split ( '-' ) . Last ( ) } ";
51+ GetLog4NetLogger ( "MultiThreadTest.config" , "MultiThreadTest" , logGroupName ) ;
52+ await MultiThreadTestGroup ( logGroupName ) ;
4153 }
4254
4355 [ Fact ]
44- public void MultiThreadBufferFullTest ( )
56+ public async Task MultiThreadBufferFullTest ( )
4557 {
46- GetLog4NetLogger ( "MultiThreadBufferFullTest.config" , "MultiThreadBufferFullTest" ) ;
47- MultiThreadBufferFullTestGroup ( "AWSLog4NetGroupMultiThreadBufferFullTest" ) ;
58+ var logGroupName = $ "AWSLog4NetGroupMultiThreadBufferFullTest{ Guid . NewGuid ( ) . ToString ( ) . Split ( '-' ) . Last ( ) } ";
59+ GetLog4NetLogger ( "MultiThreadBufferFullTest.config" , "MultiThreadBufferFullTest" , logGroupName ) ;
60+ await MultiThreadBufferFullTestGroup ( logGroupName ) ;
4861 }
4962
5063 /// <summary>
5164 /// Verifies that multiple producers can log to the same log stream
5265 /// when an override log stream name is provided
5366 /// </summary>
5467 [ Fact ]
55- public void CustomLogStreamNameTest ( )
68+ public async Task CustomLogStreamNameTest ( )
5669 {
57- GetLog4NetLogger ( "OverrideLogStreamName.config" , "OverrideLogStreamName" ) ;
58- MultiThreadTestGroup ( "AWSLog4NetGroupOverrideLogStreamName" ) ;
70+ var logGroupName = $ "AWSLog4NetGroupMultiThreadBufferFullTest{ Guid . NewGuid ( ) . ToString ( ) . Split ( '-' ) . Last ( ) } ";
71+ GetLog4NetLogger ( "OverrideLogStreamName.config" , "OverrideLogStreamName" , logGroupName ) ;
72+ await MultiThreadTestGroup ( logGroupName ) ;
5973 }
6074
6175 protected override void LogMessages ( int count )
6276 {
6377 for ( int i = 0 ; i < count - 1 ; i ++ )
6478 {
65- Logger . Debug ( string . Format ( "Test logging message {0} Log4Net, Thread Id:{1}" , i , Thread . CurrentThread . ManagedThreadId ) ) ;
79+ Logger . Debug ( string . Format ( "Test logging message {0} Log4Net, Thread Id:{1}" , i , Environment . CurrentManagedThreadId ) ) ;
6680 }
6781 Logger . Debug ( LASTMESSAGE ) ;
6882 }
0 commit comments