119 lines
3.3 KiB
C#
119 lines
3.3 KiB
C#
using Newtonsoft.Json.Linq;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace ssgrestserver
|
|
{
|
|
public partial class Form1 : Form
|
|
{
|
|
public Form1()
|
|
{
|
|
InitializeComponent();
|
|
|
|
|
|
mLogPath = Application.StartupPath + @"\Log";
|
|
mImgPath = Application.StartupPath + @"\Image";
|
|
|
|
DirectoryInfo di = new DirectoryInfo(mLogPath);
|
|
DirectoryInfo di2 = new DirectoryInfo(mImgPath);
|
|
|
|
if (!di.Exists) di.Create();
|
|
if (!di2.Exists) di2.Create();
|
|
}
|
|
|
|
|
|
private void Form1_Load(object sender, EventArgs e)
|
|
{
|
|
button1_Click(null, null);
|
|
}
|
|
|
|
internal string mLogPath = "";
|
|
internal string mImgPath = "";
|
|
|
|
NetManager mNetManager = new NetManager();
|
|
|
|
|
|
public void recvLog(string TAG, string comment)
|
|
{
|
|
try
|
|
{
|
|
this.Invoke(new MethodInvoker(() => { updateLog(TAG + "___" + DateTime.Now.ToString("yyyyMMdd HH:mm:ss") + "____" + comment); }));
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
int OldFileChecker = 0;
|
|
|
|
void updateLog(string recvlog)
|
|
{
|
|
|
|
if (lstBoxLog.Items.Count == 50)
|
|
{
|
|
lstBoxLog.Items.Clear();
|
|
}
|
|
|
|
lstBoxLog.Items.Add(recvlog);
|
|
|
|
File.AppendAllText(mLogPath + @"\" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt", recvlog);
|
|
|
|
if (recvlog.Contains("{\"보낸사람\":\"web\",\"채팅\""))
|
|
{
|
|
string chatText = recvlog.Substring(recvlog.IndexOf("{"));
|
|
chatText = chatText.Substring(0, chatText.Length - 1);
|
|
JObject jObject = JObject.Parse(chatText);
|
|
jObject.Remove("보낸사람");
|
|
jObject.Remove("status");
|
|
File.AppendAllText(mLogPath + @"\" + DateTime.Now.ToString("채팅기록_yyyy-MM-dd") + ".txt", jObject.ToString());
|
|
}
|
|
|
|
//날짜가 지난 파일 삭제
|
|
OldFileChecker++;
|
|
|
|
if (OldFileChecker > 100)
|
|
{
|
|
DirectoryInfo directory = new DirectoryInfo(mLogPath);
|
|
DateTime now = DateTime.Now;
|
|
foreach (FileInfo file in directory.GetFiles())
|
|
{
|
|
TimeSpan timeDiff = now - file.LastWriteTime;
|
|
if (timeDiff.TotalHours > 170) file.Delete();
|
|
}
|
|
|
|
OldFileChecker = 0;
|
|
|
|
directory = new DirectoryInfo(mImgPath);
|
|
foreach (FileInfo file in directory.GetFiles())
|
|
{
|
|
TimeSpan timeDiff = now - file.LastWriteTime;
|
|
if (timeDiff.TotalHours > 170) file.Delete();
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
private void button1_Click(object sender, EventArgs e)
|
|
{
|
|
mNetManager = new NetManager();
|
|
mNetManager.start();
|
|
}
|
|
|
|
public string getStartupPath()
|
|
{
|
|
return Application.StartupPath;
|
|
}
|
|
|
|
}
|
|
}
|