EventSource を使用して、EnterpriseLibrary.SemanticLogging によってイベントを SQL データベースに記録しています。
以下はテスト方法です:
[TestMethod]
public void Log_Test()
{
var eventListener = new ObservableEventListener();
var sqlListener = SqlDatabaseLog.CreateListener("Instance", CloudConfigurationManager.GetSetting("ConnectionStringTrace"), "Traces");
eventListener.EnableEvents(ApplicationEventSource.Log, EventLevel.LogAlways, Keywords.All);
ApplicationEventSource.Log.ComponentNotLoaded("Milind", "Cheeta", "Core");
また、ApplicationEventSource クラスは、次のメソッドで EventSource から派生します。
[Event(2,
Keywords = Keywords.Component,
Message = "Component: {2} not successfully loaded for user: {0} on machine: {1}",
Task = Tasks.Load,
Opcode = EventOpcode.Start,
Level = EventLevel.Error)]
public void ComponentNotLoaded(string userName, string machineName, string componentName)
{
WriteEvent(2, userName, machineName, componentName);
}
WriteEvent 中にエラーは発生していませんが、テーブルTraceには何も記録されていません