Skip to content

Commit 9026e7d

Browse files
committed
Configure log4net from embedded resource log4net.xml
1 parent dceb7fa commit 9026e7d

File tree

9 files changed

+59
-93
lines changed

9 files changed

+59
-93
lines changed

src/NHibernate.Test/App.config

Lines changed: 1 addition & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
<configSections>
55
<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" />
6-
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
76
</configSections>
87

98
<connectionStrings>
@@ -52,50 +51,7 @@
5251
</session-factory>
5352
</hibernate-configuration>
5453

55-
<log4net debug="false">
56-
57-
<!-- Appenders -->
58-
<appender name="trace" type="log4net.Appender.TraceAppender, log4net">
59-
<layout type="log4net.Layout.PatternLayout, log4net">
60-
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p %c{1}:%L - %m%n" />
61-
</layout>
62-
</appender>
63-
<appender name="console" type="log4net.Appender.ConsoleAppender, log4net">
64-
<layout type="log4net.Layout.PatternLayout, log4net">
65-
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p %c{1}:%L - %m%n" />
66-
</layout>
67-
</appender>
68-
<appender name="rollingFile" type="log4net.Appender.RollingFileAppender, log4net" >
69-
<param name="File" value="log.txt" />
70-
<param name="AppendToFile" value="false" />
71-
<param name="RollingStyle" value="Date" />
72-
<param name="DatePattern" value="yyyy.MM.dd" />
73-
<param name="StaticLogFileName" value="true" />
74-
<layout type="log4net.Layout.PatternLayout, log4net">
75-
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
76-
</layout>
77-
</appender>
78-
79-
<root>
80-
<priority value="WARN" />
81-
<appender-ref ref="console" />
82-
</root>
83-
84-
<!-- Loggers -->
85-
<logger name="NHibernate.Hql.Ast.ANTLR">
86-
<priority value="OFF" />
87-
</logger>
88-
<logger name="NHibernate.SQL">
89-
<level value="OFF" />
90-
</logger>
91-
<logger name="NHibernate.AdoNet.AbstractBatcher">
92-
<level value="OFF" />
93-
</logger>
94-
<logger name="NHibernate.Tool.hbm2ddl.SchemaExport">
95-
<level value="ERROR" />
96-
</logger>
97-
98-
</log4net>
54+
<!-- NOTE: log4net configuration is moved to log4net.xml -->
9955

10056
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/></startup>
10157
</configuration>

src/NHibernate.Test/Hql/Ast/ParsingFixture.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,6 @@ namespace NHibernate.Test.Hql.Ast
7474
// [Test]
7575
// public void BasicQuery()
7676
// {
77-
// XmlConfigurator.Configure();
78-
7977
// string input = "select o.id, li.id from NHibernate.Test.CompositeId.Order o join o.LineItems li";// join o.LineItems li";
8078

8179
// ISessionFactoryImplementor sfi = SetupSFI();
@@ -175,4 +173,4 @@ namespace NHibernate.Test.Hql.Ast
175173
// }
176174
// }
177175
//}
178-
}
176+
}

src/NHibernate.Test/Log4netConfiguration.cs

Lines changed: 0 additions & 2 deletions
This file was deleted.

src/NHibernate.Test/NHSpecificTest/NH1587/Fixture.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
using log4net;
2-
using log4net.Config;
31
using log4net.Core;
42
using NHibernate.Cfg;
53
using NUnit.Framework;
@@ -12,7 +10,6 @@ public class Fixture
1210
[Test]
1311
public void Bug()
1412
{
15-
XmlConfigurator.Configure(LogManager.GetRepository(typeof(Fixture).Assembly));
1613
var cfg = new Configuration();
1714
if (TestConfigurationHelper.hibernateConfigFile != null)
1815
cfg.Configure(TestConfigurationHelper.hibernateConfigFile);

src/NHibernate.Test/NHibernate.Test.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
<None Remove="NHSpecificTest\NH3023\db-teardown.sql" />
2626
<EmbeddedResource Include="NHSpecificTest\NH3023\db-seed.sql" />
2727
<EmbeddedResource Include="NHSpecificTest\NH3023\db-teardown.sql" />
28+
<EmbeddedResource Include="log4net.xml" />
2829
<EmbeddedResource Include="TestEmbeddedConfig.cfg.xml">
2930
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
3031
</EmbeddedResource>

src/NHibernate.Test/TestCase.cs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
using System.Data;
55
using System.Reflection;
66
using log4net;
7-
using log4net.Config;
87
using NHibernate.Cfg;
98
using NHibernate.Connection;
109
using NHibernate.Engine;
@@ -53,12 +52,6 @@ protected virtual string MappingsAssembly
5352

5453
protected SchemaExport SchemaExport => _schemaExport ?? (_schemaExport = new SchemaExport(cfg));
5554

56-
static TestCase()
57-
{
58-
// Configure log4net here since configuration through an attribute doesn't always work.
59-
XmlConfigurator.Configure(LogManager.GetRepository(typeof(TestCase).Assembly));
60-
}
61-
6255
/// <summary>
6356
/// Creates the tables used in this TestCase
6457
/// </summary>

src/NHibernate.Test/TestsContext.cs

Lines changed: 11 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,34 @@
1-
#if NETCOREAPP2_0
2-
using NUnit.Framework;
3-
1+
using NUnit.Framework;
42
using System.Configuration;
5-
using System.IO;
6-
using log4net.Repository.Hierarchy;
3+
using System.Reflection;
4+
using log4net;
5+
using log4net.Config;
76
using NHibernate.Cfg;
87

98
namespace NHibernate.Test
109
{
1110
[SetUpFixture]
1211
public class TestsContext
1312
{
14-
private static bool ExecutingWithVsTest { get; } =
15-
System.Reflection.Assembly.GetEntryAssembly()?.GetName().Name == "testhost";
13+
private static readonly Assembly TestAssembly = typeof(TestsContext).Assembly;
1614

1715
[OneTimeSetUp]
1816
public void RunBeforeAnyTests()
1917
{
18+
ConfigureLog4Net();
19+
2020
//When .NET Core App 2.0 tests run from VS/VSTest the entry assembly is "testhost.dll"
2121
//so we need to explicitly load the configuration
22-
if (ExecutingWithVsTest)
22+
if (Assembly.GetEntryAssembly() != null)
2323
{
24-
var assemblyPath = Path.Combine(TestContext.CurrentContext.TestDirectory, Path.GetFileName(typeof(TestsContext).Assembly.Location));
25-
ConfigurationProvider.Current = new SystemConfigurationProvider(ConfigurationManager.OpenExeConfiguration(assemblyPath));
24+
ConfigurationProvider.Current = new SystemConfigurationProvider(ConfigurationManager.OpenExeConfiguration(TestAssembly.Location));
2625
}
27-
28-
ConfigureLog4Net();
2926
}
3027

3128
private static void ConfigureLog4Net()
3229
{
33-
var hierarchy = (Hierarchy)log4net.LogManager.GetRepository(typeof(TestsContext).Assembly);
34-
35-
var consoleAppender = new log4net.Appender.ConsoleAppender
36-
{
37-
Layout = new log4net.Layout.PatternLayout("%d{ABSOLUTE} %-5p %c{1}:%L - %m%n"),
38-
};
39-
40-
((Logger)hierarchy.GetLogger("NHibernate.Hql.Ast.ANTLR")).Level = log4net.Core.Level.Off;
41-
((Logger)hierarchy.GetLogger("NHibernate.SQL")).Level = log4net.Core.Level.Off;
42-
((Logger)hierarchy.GetLogger("NHibernate.AdoNet.AbstractBatcher")).Level = log4net.Core.Level.Off;
43-
((Logger)hierarchy.GetLogger("NHibernate.Tool.hbm2ddl.SchemaExport")).Level = log4net.Core.Level.Error;
44-
hierarchy.Root.Level = log4net.Core.Level.Warn;
45-
hierarchy.Root.AddAppender(consoleAppender);
46-
hierarchy.Configured = true;
30+
using (var log4NetXml = TestAssembly.GetManifestResourceStream("NHibernate.Test.log4net.xml"))
31+
XmlConfigurator.Configure(LogManager.GetRepository(TestAssembly), log4NetXml);
4732
}
4833
}
4934
}
50-
#endif

src/NHibernate.Test/TypesTest/TypeFactoryFixture.cs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using System;
22
using log4net;
3-
using log4net.Repository.Hierarchy;
43
using NHibernate.Type;
54
using NUnit.Framework;
65

@@ -12,11 +11,6 @@ namespace NHibernate.Test.TypesTest
1211
[TestFixture]
1312
public class TypeFactoryFixture
1413
{
15-
public TypeFactoryFixture()
16-
{
17-
log4net.Config.XmlConfigurator.Configure(LogManager.GetRepository(typeof(TypeFactoryFixture).Assembly));
18-
}
19-
2014
private static readonly ILog log = LogManager.GetLogger(typeof(TypeFactoryFixture));
2115

2216
/// <summary>

src/NHibernate.Test/log4net.xml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<log4net debug="false">
3+
4+
<!-- Appenders -->
5+
<appender name="trace" type="log4net.Appender.TraceAppender, log4net">
6+
<layout type="log4net.Layout.PatternLayout, log4net">
7+
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p %c{1}:%L - %m%n" />
8+
</layout>
9+
</appender>
10+
<appender name="console" type="log4net.Appender.ConsoleAppender, log4net">
11+
<layout type="log4net.Layout.PatternLayout, log4net">
12+
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p %c{1}:%L - %m%n" />
13+
</layout>
14+
</appender>
15+
<appender name="rollingFile" type="log4net.Appender.RollingFileAppender, log4net" >
16+
<param name="File" value="log.txt" />
17+
<param name="AppendToFile" value="false" />
18+
<param name="RollingStyle" value="Date" />
19+
<param name="DatePattern" value="yyyy.MM.dd" />
20+
<param name="StaticLogFileName" value="true" />
21+
<layout type="log4net.Layout.PatternLayout, log4net">
22+
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
23+
</layout>
24+
</appender>
25+
26+
<root>
27+
<priority value="WARN" />
28+
<appender-ref ref="console" />
29+
</root>
30+
31+
<!-- Loggers -->
32+
<logger name="NHibernate.Hql.Ast.ANTLR">
33+
<priority value="OFF" />
34+
</logger>
35+
<logger name="NHibernate.SQL">
36+
<level value="OFF" />
37+
</logger>
38+
<logger name="NHibernate.AdoNet.AbstractBatcher">
39+
<level value="OFF" />
40+
</logger>
41+
<logger name="NHibernate.Tool.hbm2ddl.SchemaExport">
42+
<level value="ERROR" />
43+
</logger>
44+
45+
</log4net>

0 commit comments

Comments
 (0)