diff --git a/src/Common.Logging.EntLib60/Logging/EntLib/EntLibLoggerFactoryAdapter.cs b/src/Common.Logging.EntLib60/Logging/EntLib/EntLibLoggerFactoryAdapter.cs
index dfc595c..3f33ef5 100644
--- a/src/Common.Logging.EntLib60/Logging/EntLib/EntLibLoggerFactoryAdapter.cs
+++ b/src/Common.Logging.EntLib60/Logging/EntLib/EntLibLoggerFactoryAdapter.cs
@@ -18,6 +18,7 @@
#endregion
+using System;
using Common.Logging.Configuration;
using Common.Logging.Factory;
using Microsoft.Practices.EnterpriseLibrary.Common.Configuration;
@@ -123,8 +124,11 @@ private LogWriter GetWriter()
/// Initializes a new instance of the class.
///
public EntLibLoggerFactoryAdapter()
- : this(EntLibLoggerSettings.DEFAULTPRIORITY, EntLibLoggerSettings.DEFAULTEXCEPTIONFORMAT, null)
- { }
+ : this(
+ EntLibLoggerSettings.DEFAULTPRIORITY, EntLibLoggerSettings.DEFAULTEXCEPTIONFORMAT, null,
+ EntLibLoggerSettings.DEFAULTLOGCATEGORY)
+ {
+ }
///
/// Initializes a new instance of the class
@@ -133,14 +137,16 @@ public EntLibLoggerFactoryAdapter()
/// defaults to
/// defaults to
/// a instance to use
- public EntLibLoggerFactoryAdapter(int defaultPriority, string exceptionFormat, LogWriter logWriter)
+ /// defaults to
+ public EntLibLoggerFactoryAdapter(int defaultPriority, string exceptionFormat, LogWriter logWriter,
+ string logCategory)
: base(true)
{
if (exceptionFormat.Length == 0)
{
exceptionFormat = null;
}
- _settings = new EntLibLoggerSettings(defaultPriority, exceptionFormat);
+ _settings = new EntLibLoggerSettings(defaultPriority, exceptionFormat, logCategory);
_logWriter = logWriter;
}
@@ -151,17 +157,20 @@ public EntLibLoggerFactoryAdapter(int defaultPriority, string exceptionFormat, L
/// The properties.
public EntLibLoggerFactoryAdapter(NameValueCollection properties)
: this(ArgUtils.TryParse(EntLibLoggerSettings.DEFAULTPRIORITY, ArgUtils.GetValue(properties, "priority"))
- , ArgUtils.Coalesce(ArgUtils.GetValue(properties, "exceptionFormat"), EntLibLoggerSettings.DEFAULTEXCEPTIONFORMAT)
- , null
+ , ArgUtils.Coalesce(ArgUtils.GetValue(properties, "exceptionFormat"), EntLibLoggerSettings.DEFAULTEXCEPTIONFORMAT)
+ , null
+ , ArgUtils.Coalesce(ArgUtils.GetValue(properties, "logCategory"), EntLibLoggerSettings.DEFAULTLOGCATEGORY)
)
- { }
+ {
+ }
///
/// Creates a new instance.
///
protected override ILog CreateLogger(string name)
{
- return CreateLogger(name, LogWriter, _settings);
+ var logCategory = String.IsNullOrWhiteSpace(_settings.logCategory) ? name : _settings.logCategory;
+ return CreateLogger(logCategory, LogWriter, _settings);
}
///
diff --git a/src/Common.Logging.EntLib60/Logging/EntLib/EntLibLoggerSettings.cs b/src/Common.Logging.EntLib60/Logging/EntLib/EntLibLoggerSettings.cs
index 7be168a..6b8c685 100644
--- a/src/Common.Logging.EntLib60/Logging/EntLib/EntLibLoggerSettings.cs
+++ b/src/Common.Logging.EntLib60/Logging/EntLib/EntLibLoggerSettings.cs
@@ -39,23 +39,35 @@ public class EntLibLoggerSettings
///
public static readonly string DEFAULTEXCEPTIONFORMAT = "Exception[ message = $(exception.message), source = $(exception.source), targetsite = $(exception.targetsite), stacktrace = $(exception.stacktrace) ]";
+ ///
+ /// the default log category used for logging in Enterprise Library.
+ ///
+ public static readonly string DEFAULTLOGCATEGORY = "";
+
///
/// the default priority to be used.
///
public readonly int priority = DEFAULTPRIORITY;
+
//format like nlog is better? - i.e. ${exception:format=message,stacktrace:separator=, }
///
/// the exception format to be used.
///
public readonly string exceptionFormat = DEFAULTEXCEPTIONFORMAT;
+ ///
+ /// the default log category used for logging in Enterprise Library.
+ ///
+ public readonly string logCategory = DEFAULTLOGCATEGORY;
+
///
/// Initializes a new instance.
///
- public EntLibLoggerSettings(int defaultPriority, string exceptionFormat)
+ public EntLibLoggerSettings(int defaultPriority, string exceptionFormat, string defaultLogCategory)
{
this.priority = defaultPriority;
this.exceptionFormat = exceptionFormat;
+ this.logCategory = defaultLogCategory;
}
}
}
\ No newline at end of file
diff --git a/test/Common.Logging.EntLib60.Tests/Logging/EntLib/EntLibLoggerFactoryAdapterTests.cs b/test/Common.Logging.EntLib60.Tests/Logging/EntLib/EntLibLoggerFactoryAdapterTests.cs
index 0dfc9dc..4ddc578 100644
--- a/test/Common.Logging.EntLib60.Tests/Logging/EntLib/EntLibLoggerFactoryAdapterTests.cs
+++ b/test/Common.Logging.EntLib60.Tests/Logging/EntLib/EntLibLoggerFactoryAdapterTests.cs
@@ -83,15 +83,15 @@ private static TestEntLibLoggerFactoryAdapter CreateTestEntLibLoggerFactoryAdapt
, true
);
- return new TestEntLibLoggerFactoryAdapter(5, EntLibLoggerSettings.DEFAULTEXCEPTIONFORMAT, logWriter);
+ return new TestEntLibLoggerFactoryAdapter(5, EntLibLoggerSettings.DEFAULTEXCEPTIONFORMAT, logWriter, EntLibLoggerSettings.DEFAULTLOGCATEGORY);
}
private class TestEntLibLoggerFactoryAdapter: EntLibLoggerFactoryAdapter
{
public LogEntry LastLogEntry;
- public TestEntLibLoggerFactoryAdapter(int defaultPriority, string exceptionFormat, LogWriter logWriter)
- : base(defaultPriority, exceptionFormat, logWriter)
+ public TestEntLibLoggerFactoryAdapter(int defaultPriority, string exceptionFormat, LogWriter logWriter, string logCategory)
+ : base(defaultPriority, exceptionFormat, logWriter, logCategory)
{
}
diff --git a/test/Common.Logging.EntLib60.Tests/Logging/EntLib/EntLibTests.cs b/test/Common.Logging.EntLib60.Tests/Logging/EntLib/EntLibTests.cs
index c7c3651..5b3d8ca 100644
--- a/test/Common.Logging.EntLib60.Tests/Logging/EntLib/EntLibTests.cs
+++ b/test/Common.Logging.EntLib60.Tests/Logging/EntLib/EntLibTests.cs
@@ -35,7 +35,7 @@ public class EntLibTests : ILogTestsBase
protected override ILoggerFactoryAdapter GetLoggerFactoryAdapter()
{
LogWriter lw = new LogWriter(new List(), new List(), new LogSource("errorSource"), "default");
- return new EntLibLoggerFactoryAdapter(EntLibLoggerSettings.DEFAULTPRIORITY, EntLibLoggerSettings.DEFAULTEXCEPTIONFORMAT, lw);
+ return new EntLibLoggerFactoryAdapter(EntLibLoggerSettings.DEFAULTPRIORITY, EntLibLoggerSettings.DEFAULTEXCEPTIONFORMAT, lw, EntLibLoggerSettings.DEFAULTLOGCATEGORY);
}
[Test]