- SharpShell_Core_Library.zip
- SharpShell_Source_Code.zip
- SharpShell Source Code
- Dependencies
- Apex
- Apex.WinForms.dll
- SharpShell
- packages
- Apex.1.5.0
- Apex.1.5.0.nupkg
- lib
- net35
- Apex.dll
- net40
- Apex.dll
- sl30
- Apex.Silverlight.dll
- sl3-wp
- Apex.WP7.dll
- sl40
- Apex.Silverlight4.dll
- sl4-wp71
- Apex.WP7.dll
- sl50
- Apex.Silverlight.dll
- NUnit.2.6.2
- repositories.config
- Samples
- ContextMenu
- CountLinesExtension
- DropHandler
- XsdDropHandler
- IconHandler
- DllIconHandler
- IconOverlayHandler
- ReadOnlyFileIconOverlayHandler
- InfoTipHandler
- FolderInfoTipHandler
- PropertySheet
- DrivePropertySheet
- TextFilePropertySheet
- SharedAssemblyInfo.cs
- SharpShell.sln
- SharpShell
- SharpShellNativeBridge
- Todo.txt
- Tools
- ServerInspector
- ServerManager
- ShellExtensionManager
- SharpShell_Tools.zip
- SharpShell Tools
- Apex.dll
- Apex.WinForms.dll
- ServerInspector.exe
- ServerManager.exe
- SharpShell.dll
- System.Windows.Interactivity.dll
|
using System;
using System.Diagnostics;
namespace SharpShell.Diagnostics
{
/// <summary>
/// The logging class is used for SharpShell logging.
/// </summary>
public static class Logging
{
/// <summary>
/// Initializes the <see cref="Logging"/> class.
/// </summary>
static Logging()
{
Log(string.Format("SharpShell Diagnostics Initialised. Process {0}.", Process.GetCurrentProcess().ProcessName));
}
/// <summary>
/// Logs the specified message.
/// </summary>
/// <param name="message">The message.</param>
[Conditional("DEBUG")]
public static void Log(string message)
{
// Log to the event log.
EventLog.WriteEntry(EventLog_Source, message);
}
/// <summary>
/// Logs the specified message as an error.
/// </summary>
/// <param name="message">The message.</param>
/// <param name="exception">The exception.</param>
[Conditional("DEBUG")]
public static void Error(string message, Exception exception = null)
{
// Write the message.
EventLog.WriteEntry(EventLog_Source, message, EventLogEntryType.Error);
// Write the exception, if it exists.
if(exception != null)
EventLog.WriteEntry(EventLog_Source, exception.ToString(), EventLogEntryType.Error);
}
/// <summary>
/// Determines whether logging is enabled.
/// </summary>
/// <returns>
/// <c>true</c> if logging is enabled; otherwise, <c>false</c>.
/// </returns>
public static bool IsLoggingEnabled()
{
// Check whether the source exists.
return EventLog.SourceExists(EventLog_Source);
}
/// <summary>
/// Enables or disables logging.
/// </summary>
/// <param name="enable">if set to <c>true</c> enable logging, otherwise, disable logging.</param>
/// <returns></returns>
public static void EnableLogging(bool enable)
{
if(IsLoggingEnabled() && !enable)
EventLog.DeleteEventSource(EventLog_Source);
else if(!IsLoggingEnabled() && enable)
EventLog.CreateEventSource(EventLog_Source, EventLog_Log);
}
/// <summary>
/// The event log log.
/// </summary>
private const string EventLog_Log = @"Application";
/// <summary>
/// The EventLog Source for SharpShell.
/// </summary>
public const string EventLog_Source = @"SharpShell";
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.