64 lines
1.9 KiB
C#
64 lines
1.9 KiB
C#
using AIProofread.Controls;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.IO;
|
||
using System.Windows.Interop;
|
||
|
||
namespace AIProofread
|
||
{
|
||
public class Logger
|
||
{
|
||
public static FormLogger LoggerForm;
|
||
//private static readonly string AppDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
|
||
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
/// <param name="msg"></param>
|
||
public static void Log(string tag,string message)
|
||
{
|
||
string time = DateTime.Now.ToString("HH:mm:ss");
|
||
|
||
// 如果日志窗口已经打开,则显示日志
|
||
if (LoggerForm != null && !LoggerForm.IsDisposed && LoggerForm.Visible)
|
||
{
|
||
LoggerForm.Log(time, tag, message);
|
||
}
|
||
string path = Config.APP_LOG_PATH + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
|
||
if (!Directory.Exists(Config.APP_LOG_PATH))
|
||
{
|
||
Directory.CreateDirectory(Config.APP_LOG_PATH);
|
||
}
|
||
try
|
||
{
|
||
StreamWriter streamWriter = File.AppendText(path);
|
||
streamWriter.WriteLine($"{time} [{tag}]:" + message);
|
||
streamWriter.Flush();
|
||
streamWriter.Close();
|
||
streamWriter.Dispose();
|
||
}
|
||
catch (Exception) { }
|
||
}
|
||
public static void Log(string msg)
|
||
{
|
||
Log((Config.IS_WPS ? "WPS" : "WORD"), msg);
|
||
}
|
||
public static void Log(Exception e)
|
||
{
|
||
Log(e.Message + "\n" + e.StackTrace);
|
||
}
|
||
public static void Log(string tag, Exception e)
|
||
{
|
||
Log(tag,e.Message + "\n" + e.StackTrace);
|
||
}
|
||
|
||
public static void LogToWeb(string msg)
|
||
{
|
||
if (Config.RUN_IN_DEBUG)
|
||
{
|
||
Globals.ThisAddIn.SendMessageToWeb("DEBUG-LOG", msg);
|
||
}
|
||
}
|
||
}
|
||
}
|