136 lines
4.7 KiB
C#
136 lines
4.7 KiB
C#
|
using Api.Framework;
|
|||
|
using Chat.Framework;
|
|||
|
using DevExpress.XtraEditors;
|
|||
|
using System;
|
|||
|
using System.IO;
|
|||
|
using System.Threading;
|
|||
|
using System.Threading.Tasks;
|
|||
|
using System.Windows.Forms;
|
|||
|
using Api.Framework.Events;
|
|||
|
|
|||
|
namespace FLSystem.Forms
|
|||
|
{
|
|||
|
public partial class system_log_control : DevExpress.XtraEditors.XtraUserControl
|
|||
|
{
|
|||
|
public system_log_control()
|
|||
|
{
|
|||
|
InitializeComponent();
|
|||
|
EventClient.LogEvent += EventClient_LogEvent;
|
|||
|
ChatClient.Events.WXWriteLogEvent += Events_WXWriteLogEvent;
|
|||
|
this.Disposed += System_log_control_Disposed;
|
|||
|
this.is_roll = ApiClient.Setting.SystemConfig.show_debug_log;
|
|||
|
this.buttonCheck.Checked = this.is_roll;
|
|||
|
}
|
|||
|
|
|||
|
private void System_log_control_Disposed(object sender, EventArgs e)
|
|||
|
{
|
|||
|
EventClient.LogEvent -= EventClient_LogEvent;
|
|||
|
ChatClient.Events.WXWriteLogEvent -= Events_WXWriteLogEvent;
|
|||
|
//tokenSource.Cancel();
|
|||
|
}
|
|||
|
|
|||
|
private void Events_WXWriteLogEvent(object sender, Chat.Framework.WXSdk.Events.WXWriteLog e)
|
|||
|
{
|
|||
|
//if (e.Client.User != null && e.Client.User.Uin != 0) OnLog($"{e.Client.User.Nick}({e.Client.WeixinHao}):{e.Message}");
|
|||
|
//else OnLog(e.Message);
|
|||
|
|
|||
|
if (e.Client.User != null && e.Client.User.Uin != 0) showLog($"{e.Client.User.Nick}({e.Client.WeixinHao}):{e.Message}");
|
|||
|
else showLog(e.Message);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
public void showLog(string log)
|
|||
|
{
|
|||
|
this.SafeInvoke(() =>
|
|||
|
{
|
|||
|
OnLog(log);
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
private bool is_roll = true;
|
|||
|
private void EventClient_LogEvent(object sender, Api.Framework.Events.LogEvents e)
|
|||
|
{
|
|||
|
//OnLog(e.Message);
|
|||
|
//this.BeginInvoke(updateLog, e.Message);
|
|||
|
try
|
|||
|
{
|
|||
|
showLog(e.Message);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{ }
|
|||
|
}
|
|||
|
|
|||
|
private static object lock_log = new object();
|
|||
|
private void OnLog(string message)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
var _msg = message;
|
|||
|
try
|
|||
|
{
|
|||
|
string name = Api.Framework.Tools.Util.MapFile(DateTime.Now.ToString("yyyy-MM-dd") + ".log", "Cache\\系统日志");
|
|||
|
File.AppendAllLines(name, new string[] { DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "-->" + _msg });
|
|||
|
}
|
|||
|
catch
|
|||
|
{ }
|
|||
|
|
|||
|
if (is_roll)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.richTextBox1.Lines.Length > 1000)
|
|||
|
this.richTextBox1.Text = "";
|
|||
|
if (!string.IsNullOrEmpty(this.richTextBox1.Text))
|
|||
|
this.richTextBox1.AppendText("\r\n");
|
|||
|
this.richTextBox1.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "-->" + message);
|
|||
|
this.richTextBox1.SelectionStart = this.richTextBox1.Text.Length;
|
|||
|
this.richTextBox1.ScrollToCaret();
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{ }
|
|||
|
|
|||
|
#region 老妖以前的 xxx
|
|||
|
//this.Invoke(new Action(delegate
|
|||
|
//{
|
|||
|
//try
|
|||
|
//{
|
|||
|
// if (this.log_text.Lines.Length > 1000)
|
|||
|
// this.log_text.Text = "";
|
|||
|
// if (!string.IsNullOrEmpty(this.log_text.Text))
|
|||
|
// this.log_text.Text += "\r\n";
|
|||
|
// this.log_text.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "-->" + message;
|
|||
|
// this.log_text.SelectionStart = this.log_text.Text.Length;
|
|||
|
// this.log_text.ScrollToCaret();
|
|||
|
//}
|
|||
|
//catch (Exception)
|
|||
|
//{ }
|
|||
|
//}));
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
XtraMessageBox.Show(ex.Message, "系统错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void buttonCheck1_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
this.is_roll = this.buttonCheck.Checked;
|
|||
|
ApiClient.Setting.SystemConfig.show_debug_log = this.is_roll;
|
|||
|
}
|
|||
|
catch (Exception)
|
|||
|
{ }
|
|||
|
}
|
|||
|
|
|||
|
private void hyperlinkLabelControl1_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
//this.log_text.Text = "";
|
|||
|
this.richTextBox1.Text = "";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|