Thanks, that works perfectly. Here is part of the code to share with others:
public class DateTimeTextWriterTraceListener : TextWriterTraceListener
{
private static object locking = new object();
private static CultureInfo cultureInfo = CultureInfo.GetCultureInfo("de-DE");
private static string dateFormat = "dd.MM.yyyy HH:mm:ss.ffff";
private static string NowString
{
get
{
return DateTime.Now.ToString(dateFormat, cultureInfo);
}
}
#region constructor
public DateTimeTextWriterTraceListener()
{}
public DateTimeTextWriterTraceListener(string fileName) : base(fileName)
{}
public DateTimeTextWriterTraceListener(System.IO.Stream stream) : base(stream)
{}
public DateTimeTextWriterTraceListener(System.IO.TextWriter writer) : base(writer)
{}
public DateTimeTextWriterTraceListener(string fileName, string name) : base(fileName, name)
{}
public DateTimeTextWriterTraceListener(System.IO.Stream stream, string name) : base(stream, name)
{}
public DateTimeTextWriterTraceListener(System.IO.TextWriter writer, string name) : base(writer, name)
{ }
#endregion
#region Write
public override void Write(string message)
{
lock (locking)
{
base.Write(DateTimeTextWriterTraceListener.NowString);
base.Write(": ");
base.Write(message);
}
}
public override void WriteLine(string message)
{
lock (locking)
{
base.Write(DateTimeTextWriterTraceListener.NowString);
base.Write(": ");
base.WriteLine(message);
}
}
}
and the config looks like that:
<system.diagnostics>
<switches>
<add name="ORMPersistenceExecution" value="4"/>
</switches>
<trace autoflush="true" indentsize="4">
<listeners>
<add name="ormDiagListener" type="MyProject.Utility.DateTimeTextWriterTraceListener,MyProject.Utility" initializeData="ormDiagnostics.log" traceOutputOptions="DateTime" />
<remove name="Default" />
</listeners>
</trace>
</system.diagnostics>
"type" contains here ClassName,AssemblyName