/*--- コンストラクタ --------------------------------------------------------------------------------------------------------------------------------------------*/ /// <summary> コンストラクタ /// </summary> /// <param name="in_LogSetting"> ログファイルの出力設定データ </param> /// <param name="in_LevelSetting"> ログ出力のレベル </param> public TextLogWrite(FileLogSetting in_LogSetting, OutputLevelSetting in_LevelSetting) : base() { this.FileLogSetting = in_LogSetting; this.OutputLevelSetting = in_LevelSetting; this.LogEncoding = Encoding.GetEncoding("utf-8"); this.writerCreationTime = DateTime.Now; if (this.FileLogSetting.AddFileNameDate) { string dateString = "_" + this.writerCreationTime.ToString(this.FileLogSetting.FileNameDateFormat); this.logWritePath = Path.Combine( this.FileLogSetting.LogDictionary, this.FileLogSetting.FileName + dateString + this.FileLogSetting.FileExtension); } else { this.logWritePath = Path.Combine( this.FileLogSetting.LogDictionary, this.FileLogSetting.FileName + this.FileLogSetting.FileExtension); } }
/*--- メソッド:Public ------------------------------------------------------------------------------------------------------------------------------------------*/ /// <summary> プロパティ/フィールドを初期化します。 /// </summary> public void InitData() { this.FileLogSetting = new FileLogSetting(); this.OutputLevelSetting = new OutputLevelSetting(); }
/*--- メソッド:Public ------------------------------------------------------------------------------------------------------------------------------------------*/ /// <summary> ログデータのレベルとログセッティングの出力レベルを比較し、出力対象であれば"true"を、非出力対象であれば"false"を返します。 /// </summary> /// <param name="in_logData">出力ログデータ</param> /// <param name="in_lvlSetting">出力レベル設定</param> /// <returns>bool: true/false</returns> public bool WriteLevelCheck(ILogData in_logData, OutputLevelSetting in_lvlSetting) { switch (in_logData.LogStatus.LogLevelEnum) { case LogLevelEnum.FATAL: if (in_lvlSetting.FATAL) { return(true); } break; case LogLevelEnum.ERROR: if (in_lvlSetting.ERROR) { return(true); } break; case LogLevelEnum.WARNING: if (in_lvlSetting.WARNING) { return(true); } break; case LogLevelEnum.NOTICE: if (in_lvlSetting.NOTICE) { return(true); } break; case LogLevelEnum.INFO: if (in_lvlSetting.INFO) { return(true); } break; case LogLevelEnum.MEMO: if (in_lvlSetting.MEMO) { return(true); } break; case LogLevelEnum.DEBUG: if (in_lvlSetting.DEBUG) { return(true); } break; case LogLevelEnum.TRACE: if (in_lvlSetting.TRACE) { return(true); } break; default: break; } return(false); }