/* * Copyright (c), 2009 Sigbjorn Finne * * Your normal (albeit simple & naive) logging class. Static * methods all around. */ using System; using System.IO; using System.Runtime.InteropServices; using System.Text; namespace HsInvoker { [ComVisible(false)] public class Logger { protected static TextWriter m_outputDebug; protected static TextWriter m_outputWarning; protected static TextWriter m_outputError; protected static bool m_debugMode; static Logger() { m_debugMode = false; m_outputDebug = m_outputWarning = m_outputError = Console.Out; } public static bool DebugMode { get { return m_debugMode; } set { m_debugMode = value; } } public static void Debug(String s) { if ( m_debugMode ) { m_outputDebug.WriteLine(s); } } public static void Debug(String s, params Object[] args) { if ( m_debugMode ) { m_outputDebug.WriteLine(s, args); } } public static void Error(String s) { m_outputError.WriteLine(s); } public static void Error(String s, params Object[] args) { m_outputError.WriteLine(s, args); } public static void Warning(String s) { m_outputWarning.WriteLine(s); } public static void Warning(String s, params Object[] args) { m_outputWarning.WriteLine(s, args); } } }; /* namespace */