ログをファイルに書き込もうとしているので、アプリケーションがクラッシュするたびにログがログファイルに保存されます。ただし、StreamWriter では許可されません。すべてのパスの可能性を試しましたが、これをテストしようとするたびに、次の例外がスローされます。
System.NotSupportedException: The given path's format is not supported.
ただし、コンソール出力に示されているように、パスは問題ないはずです。
StartLogging=True Trying to write to C:\Users\Tom\documents\visual studio 2012\Projects\xxx\yyy\bin\Debug\logs\06-11-13_11:51:37.log
これが機能しない理由がわからないので、どんな助けも大歓迎です...
SaveLog 関数:
public void SaveLog(bool startLogging = false)
{
DateTime startTime = LogManager.StartTime;
string appPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
string logPath = appPath.Replace("file:\\", "") + "\\logs\\";
string logFile = startTime.ToString("MM-dd-yy_HH:mm:ss") + ".log";
string fullPath = Path.Combine(logPath, logFile);
if (!Directory.Exists(logPath))
{
Directory.CreateDirectory(logPath);
}
Console.WriteLine("StartLogging={0} Trying to write to {1}", startLogging, fullPath);
using (StreamWriter writer = new StreamWriter(fullPath, !startLogging))
{
writer.Write("[{0}][{1}] ", Time.ToString("HH:mm:ss:fff"), Level.ToString());
writer.Write(Message);
writer.WriteLine(" ({0} - {1})", Method, Location);
}
}