Я работаю над проектом с некоторыми пользовательскими компонентами рабочего процесса Sharepoint, к которым я хотел бы добавить log4net.
Хотя я действительно изо всех сил пытаюсь заставить log4net выводить что-либо вообще!
Вот мои текущие настройки:
В коде моего рабочего процесса:
private ILog log;
public MessageQueueWorkflow()
{
InitializeComponent();
string filepath = ConfigurationManager.AppSettings["log4netConfigPath"];
if (!string.IsNullOrEmpty(filepath))
{
log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(filepath));
log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
}
}
public Guid workflowId = default(System.Guid);
public SPWorkflowActivationProperties workflowProperties = new SPWorkflowActivationProperties();
private void onWorkflowActivated1_Invoked(object sender, ExternalDataEventArgs e)
{
try
{
#region Logging
if (log.IsDebugEnabled)
{
log.Debug(System.Reflection.MethodInfo.GetCurrentMethod().Name);
}
#endregion Logging
// do some stuff
}
catch (Exception ex)
{
if (log.IsErrorEnabled)
{
log.Error("An error has occurred.", ex);
}
throw ex;
}
}
В моем web.config для сайта Sharepoint:
<appSettings>
<add key="log4netConfigPath" value="C:\Inetpub\wwwroot\wss\VirtualDirectories\80\log4net.config"/>
</appSettings>
Вмой файл log4net.config:
<log4net debug="true">
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
<applicationName value="MyApp" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d %-5p %c - %m%n" />
</layout>
</appender>
</log4net>
Теперь, когда я запускаю этот рабочий процесс, я ожидаю увидеть некоторые записи отладки в EventViewer, но я ничего не получаю.
Есть идеи, что я делаю не так?
Спасибо!