Mercurial > repos > IBBoard
view Logging/FileLogger.cs @ 7:f4da31cb09d9
* Add translation DTD to utils project
* Alter Translation class to resolve error when initialising with an empty local language (should default to no local language, not exception)
no-open-ticket
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Fri, 02 Jan 2009 20:12:06 +0000 |
parents | 961030992bd2 |
children | 0352fa33ee8f |
line wrap: on
line source
using System; using System.IO; namespace IBBoard.Logging { public abstract class FileLogger : Logger { public FileLogger() : this(CreateDefaultLogFileStream()) { } public FileLogger(string path) : this(CreateLogFileStream(path)) { } public FileLogger(FileInfo file) : this(CreateLogFileStream(file)) { } public FileLogger(FileStream stream) : base(stream) { } public static string MakeDefaultLogFilePath() { return MakeLogFilePath(Constants.UserDataPath); } public static string MakeLogFilePath(string path) { return path.TrimEnd(IBBoard.Constants.DirectoryChar) + IBBoard.Constants.DirectoryChar + "logs" + IBBoard.Constants.DirectoryChar + String.Format("{0:yyyy-MM-dd-HHmmss}", DateTime.Now)+".log"; } public static FileStream CreateDefaultLogFileStream() { return CreateLogFileStream(MakeDefaultLogFilePath()); } public static FileStream CreateLogFileStream(string path) { return CreateLogFileStream(new FileInfo(path)); } public static FileStream CreateLogFileStream(FileInfo file) { if (!file.Directory.Exists) { file.Directory.Create(); } return new FileStream(file.FullName, FileMode.OpenOrCreate, FileAccess.Write); } } }