///////////////////////////////////////////////////////////////////////// /// <summary> ログ出力 </summary> /// <remarks> /// ログテーブルへログを出力 /// </remarks> /// <param name="sSts">ログ種別</param> /// <param name="sTtl">ログタイトル</param> /// <param name="sMsg">ログメッセージ</param> /// <param name="sMsgEx">ログ負荷情報</param> protected void LogWrite(string sSts, string sTtl, string sMsg, string sMsgEx) { StringBuilder sbSQL = new StringBuilder(); // // エラートラップ try { // 環境存在判定 if (m_config != null) { using (NpgDB npgDB = TTCommon.DBConnect(m_config)) { // SQLの作成 & 実行 sbSQL.AppendLine(" INSERT INTO " + m_sTbl); sbSQL.AppendLine(" " + "("); sbSQL.AppendLine(" " + "log_stamp" + ","); sbSQL.AppendLine(" " + "log_kbn" + ","); sbSQL.AppendLine(" " + "log_ttl" + ","); sbSQL.AppendLine(" " + "log_memo" + ","); sbSQL.AppendLine(" " + "log_ext" + ","); sbSQL.AppendLine(" " + "log_prg_nm" + ","); sbSQL.AppendLine(" " + "stf_cd" + ","); sbSQL.AppendLine(" " + "stf_j_nm" + " "); sbSQL.AppendLine(" " + ")" + " " + "VALUES" + " " + "("); sbSQL.AppendLine(" " + "CURRENT_TIMESTAMP" + ","); sbSQL.AppendLine(" " + ":log_kbn" + ","); sbSQL.AppendLine(" " + ":log_ttl" + ","); sbSQL.AppendLine(" " + ":log_memo" + ","); sbSQL.AppendLine(" " + ":log_ext" + ","); sbSQL.AppendLine(" " + ":log_prg_nm" + ","); sbSQL.AppendLine(" " + ":stf_cd" + ","); sbSQL.AppendLine(" " + ":stf_j_nm" + " "); sbSQL.AppendLine(" " + ")"); npgDB.Command = sbSQL.ToString(); npgDB.SetParams("log_kbn", sSts); npgDB.SetParams("log_ttl", sTtl); npgDB.SetParams("log_memo", sMsg); npgDB.SetParams("log_ext", sMsgEx); npgDB.SetParams("log_prg_nm", m_sPgNm); npgDB.SetParams("stf_cd", m_sStfCd); npgDB.SetParams("stf_j_nm", m_sStfNm); npgDB.ExecuteNonQuery(); } } else { LogfileWrite(sTtl, sMsg, sMsgEx); } } catch (Exception ex) { DebugWrite("ログ出力失敗:" + ex.Message); LogfileWrite(sTtl, sMsg, ex.Source); LogfileWrite(sTtl, sMsg, sMsgEx); } }
///////////////////////////////////////////////////////////////////////// // <summary> // イベント処理 // </summary> // <param name="delEventHandler">イベント処理デリゲート</param> // <remarks></remarks> protected void OnEventExecute(string sEventName, OnEventHandler delEventHandler) { // エラートラップ try { // ログ生成 m_log = new TTLog(m_sSysNm, m_sPgNm); // // 環境生成 m_config = new TTConfig(m_sConfigPath); // // ログテーブル設定 m_log.SetLogInfo(m_config, m_sLogTbl, m_sStfCd, m_sStfNm); // // DB接続 m_npgDB = TTCommon.DBConnect(m_config); // // 開始ログ m_log.EventStart(sEventName); // // イベント処理実行 delEventHandler(); } catch (TTConfig.TTConfigError ex) { m_log.Error("環境設定エラー", ex); } catch (IcelineExceptionNpgDBConnect ex) { m_log.Error("DB接続エラー", ex); } catch (System.Threading.ThreadAbortException) { // Redirectを実行するとこの例外が発生する為、Nop } catch (Exception ex) { m_log.Error("想定外エラー", ex); } finally { // 終了ログ m_log.EventEnd(sEventName); // // 後処理 m_log.Dispose(); // if (m_npgDB != null) { m_npgDB.Dispose(); m_npgDB = null; } } }