public static CrashLogWriter CreateNew( string crashFilePrefix )
{
StreamWriter w = null;
try
{
if( !Directory.Exists( CrashLogDirectory ) ) Directory.CreateDirectory( CrashLogDirectory );
string date = DateTime.UtcNow.ToString( "u" );
string path = Path.Combine( CrashLogDirectory, String.Format( "{0}-{1}.log", crashFilePrefix, date.Replace( ':', '-' ) ) );
w = new StreamWriter( path, true, Encoding.UTF8 );
w.AutoFlush = true;
CrashLogWriter.WriteLineProperty( w, "UniqueID", Guid.NewGuid().ToString() );
CrashLogWriter.WriteLineProperty( w, "UtcDate", date );
return new CrashLogWriter( w );
}
catch( Exception )
{
try { if( w != null ) w.Dispose(); } catch {}
return new CrashLogWriter( TextWriter.Null );
}
}