[NF] now it's easier to specifiy a directory for logging

This commit is contained in:
BlubbFish 2016-06-08 11:25:47 +00:00
parent 845b733326
commit acf90704a8

View File

@ -3,12 +3,15 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Reflection;
namespace BlubbFish.Utils {
public class FileLogger {
private static Dictionary<string, FileLogger> instances = new Dictionary<string, FileLogger>();
private static String logDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + Path.DirectorySeparatorChar;
private StreamWriter file;
private FileLogger(string filename, bool append) {
filename = logDir + filename;
if(!File.Exists(filename)) {
string folder = Path.GetDirectoryName(Path.GetFullPath(filename));
if(!Directory.Exists(folder)) {
@ -25,6 +28,20 @@ namespace BlubbFish.Utils {
return instances[filename];
}
public static void setLogDir(String v) {
v = v.Replace("..", "");
v = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + Path.DirectorySeparatorChar + v;
if(Directory.Exists(v)) {
logDir = v;
} else {
Directory.CreateDirectory(v);
logDir = v;
}
if(logDir.Substring(logDir.Length - 1) != Path.DirectorySeparatorChar.ToString()) {
logDir = logDir + Path.DirectorySeparatorChar;
}
}
public void setArray(string[] text) {
this.file.Write(String.Join(file.NewLine, text) + file.NewLine);
this.file.Flush();