Beispiel #1
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="file_name">ログファイル名</param>
        /// <param name="file_encode">エンコード</param>
        /// <param name="log_level">出力ログレベル</param>
        loger_module(string file_name, string file_encode, E_LOG_LEVEL log_level, string max_output_capacity)
        {
            _output_level = log_level;
            _fl_stream    = new FileStream(file_name, FileMode.Append, FileAccess.Write, FileShare.Read);
            _stream       = new StreamWriter(_fl_stream, Encoding.GetEncoding(file_encode));
            _file_name    = file_name;
            _file_encode  = file_encode;

            int cat_point = file_name.LastIndexOf("."); // 拡張子との区切り文字位置を取得

            if (cat_point != -1)
            {
                _original_filename  = file_name.Substring(0, cat_point);
                _original_extension = file_name.Substring(cat_point);
                _division_count     = 1;
                _max_output_size    = calc_to_byte(max_output_capacity);
            }
        }
Beispiel #2
0
        /// <summary>
        /// ログ出力オブジェクトの作成
        /// </summary>
        /// <param name="file_name">出力ファイル名</param>
        /// <param name="output_dir">出力先ディレクトリ</param>
        /// <param name="file_encode">出力エンコード</param>
        /// <param name="debug_flg"></param>
        public static loger_module create_loger(string file_name, string output_dir, string file_encode, E_LOG_LEVEL log_level, string max_output_capacity, bool debug_flg = false)
        {
            try
            {
                string log_file_name = "";
                string log_dir       = path_extracted(file_name); // ディレクト情報の抽出
                if (log_dir == "")                                // パス情報が無ければ、固定値にする
                {
                    log_dir = output_dir;
                    string join_filename = log_dir + file_name;
                    log_file_name = create_log_filename(join_filename, debug_flg);
                }
                else
                {
                    log_file_name = create_log_filename(file_name, debug_flg);
                }

                if (!Directory.Exists(log_dir))
                {
                    Directory.CreateDirectory(log_dir);                             // ディレクトが無ければ作成
                }
                return(new loger_module(log_file_name, file_encode, log_level, max_output_capacity));
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return(null);
            }
        }