From 8f5c8891aba521570fa63c4baf616e3a3c8d9526 Mon Sep 17 00:00:00 2001 From: ulysseskao <ulysseskao@gmail.com> Date: Sun, 01 May 2016 01:12:51 +0800 Subject: [PATCH] update for logger --- CCSTrace/CCS/CCSMain.cs | 98 ++++++++++++++++--------------------------------- 1 files changed, 32 insertions(+), 66 deletions(-) diff --git a/CCSTrace/CCS/CCSMain.cs b/CCSTrace/CCS/CCSMain.cs index c824a21..cfff0ca 100644 --- a/CCSTrace/CCS/CCSMain.cs +++ b/CCSTrace/CCS/CCSMain.cs @@ -19,7 +19,7 @@ { private const string DbConfigFilename = "DBConfig.xml"; - private static Logger _logger = LogManager.GetCurrentClassLogger(); + private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); private static CcsMain _instance; public static ArrayList ProcessCases = new ArrayList(); @@ -29,7 +29,6 @@ private int _connectionCount = 1; private OracleConnection _mainConn = null; - private SEventLog _mainLog = null; private SmartThreadPool _mainjobThreadPool = null; private readonly object _syncDbQueue = new object(); @@ -58,15 +57,17 @@ public void Startup() { - _mainLog = new SEventLog(); + Logger.Info("CCSMain Startup."); try { ReadXml(); + Logger.Info("CCSMain ReadXml Complete."); if (_mainConn == null) _mainConn = CreateConnection(); //MainConn = CreateMainConnection(); + Logger.Info("CCSMain has been connected database."); GlobalVariable.CcsCodelist = new CcsCodelist(_mainConn); GlobalVariable.EosCodelist = new EosCodelist(_mainConn); @@ -78,18 +79,11 @@ } catch (Exception e) { - Console.WriteLine(e.Message); - Console.WriteLine(e.StackTrace); - _mainLog.Error(e.Message); - - if (GlobalVariable.ShowError) - _mainLog.Error(e.StackTrace); - + Logger.Error(e, e.Message); throw; } finally { - _mainLog.Close(); } CcsRecord mRecord = GetWaitRecord(_mainConn); @@ -106,6 +100,7 @@ stpStartInfo.MaxWorkerThreads = GlobalVariable.MaxThreadSize; stpStartInfo.MinWorkerThreads = GlobalVariable.MinThreadSize; _mainjobThreadPool = new SmartThreadPool(stpStartInfo); + Logger.Info("Create Thread Pool."); } public void Shutdown() @@ -116,8 +111,14 @@ GC.Collect(); GC.WaitForPendingFinalizers(); } + public void AcceptEvent(CcsRecord record) { + /* + WorkItemCallback workItemCallback = new WorkItemCallback(this.DoWork); + _mainjobThreadPool.QueueWorkItem(workItemCallback, record); + */ + int i = 0; int reConnectCount = 1; @@ -134,7 +135,8 @@ if (mRecord != null) { - OracleConnection conn = _dbQueue.Dequeue(); + OracleConnection conn = null; + lock (_syncDbQueue) conn = _dbQueue.Dequeue(); ProcessCase(mRecord, conn); } } @@ -142,8 +144,9 @@ break; } } - catch (Exception) + catch (Exception e) { + Logger.Error(e, e.Message); if (_mainConn.State == ConnectionState.Closed) { i++; @@ -216,7 +219,7 @@ } catch (XmlException xe) { - Console.WriteLine(xe.StackTrace); + Logger.Error(xe, xe.Message); reader?.Close(); } } @@ -237,14 +240,12 @@ try { - _mainLog = new SEventLog(); - - if (conn.State.ToString().Equals("Closed")) + if (conn.State == ConnectionState.Closed) conn.Open(); transaction = conn.BeginTransaction(); - if (record.InsertDb(conn, transaction, _mainLog)) + if (record.InsertDb(conn, transaction)) { var eventQuery = new EventQuery { @@ -255,11 +256,11 @@ }; - if (eventQuery.Insert(_mainLog, conn, transaction)) + if (eventQuery.Insert(conn, transaction)) transaction.Commit(); else { - if (transaction.Connection.State.ToString().Equals("Open")) + if (transaction.Connection.State == ConnectionState.Open) transaction.Rollback(); throw new Exception("案件未受理成功。"); @@ -267,7 +268,7 @@ } else { - if (transaction.Connection.State.ToString().Equals("Open")) + if (transaction.Connection.State == ConnectionState.Open) transaction.Rollback(); throw new Exception("案件未受理成功。"); @@ -275,35 +276,21 @@ } catch (OracleException e) { - Console.WriteLine(e.Message); - Console.WriteLine(e.StackTrace); - _mainLog.Error(e.Message); + Logger.Error(e, e.Message); - if (GlobalVariable.ShowError) - _mainLog.Error(e.StackTrace); - - if (transaction != null && transaction.Connection.State.ToString().Equals("Open")) + if (transaction != null && (transaction.Connection.State == ConnectionState.Open)) transaction.Rollback(); throw; } catch (Exception ex) { - Console.WriteLine(ex.Message); - Console.WriteLine(ex.StackTrace); - _mainLog.Error(ex.Message); + Logger.Error(ex, ex.Message); - if (GlobalVariable.ShowError) - _mainLog.Error(ex.StackTrace); - - if (transaction != null && transaction.Connection.State.ToString().Equals("Open")) + if (transaction != null && (transaction.Connection.State == ConnectionState.Open)) transaction.Rollback(); throw; - } - finally - { - _mainLog.Close(); } return true; @@ -391,11 +378,7 @@ } catch (Exception e) { - Log(e.Message); - _mainLog.Error("無法取得等候處理CCS案件資料。錯誤訊息 = " + e.Message); - - if (GlobalVariable.ShowError) - _mainLog.Error(e.StackTrace); + Logger.Error(e, e.Message); } finally { @@ -405,7 +388,7 @@ } if (ccsid.Length != 0) - record = new CcsRecord(ccsid, conn, _mainLog); + record = new CcsRecord(ccsid, conn); if (record != null) { @@ -418,15 +401,15 @@ try { - if (eventQuery.UpdateCaseStatus(_mainLog, conn, transaction)) + if (eventQuery.UpdateCaseStatus(conn, transaction)) { - _mainLog.Info("更新EVENTQUERY的案件狀態為處理中.(CCSID = " + record.CcsId + ")"); + Logger.Info("更新EVENTQUERY的案件狀態為處理中.(CCSID = " + record.CcsId + ")"); transaction.Commit(); ProcessCases.Add(record.CcsId); } else { - _mainLog.Error("無法更新EVENTQUERY的案件狀態.(CCSID = " + record.CcsId + ")"); + Logger.Error("無法更新EVENTQUERY的案件狀態.(CCSID = " + record.CcsId + ")"); if (transaction.Connection.State.ToString().Equals("Open")) transaction.Rollback(); @@ -437,29 +420,12 @@ if (transaction.Connection.State.ToString().Equals("Open")) transaction.Rollback(); - Log(e.Message); + Logger.Error(e, e.Message); record = null; } } return record; - } - - private void Log(string message) - { - RecordLog pLog = null; - try - { - pLog = new RecordLog(GlobalVariable.CcsListPath + "MAIN.txt"); - pLog.Error(message); - } - finally - { - if (pLog != null) - { - pLog.Close(); - } - } } } } \ No newline at end of file -- Gitblit v0.0.0-SNAPSHOT