乙個簡單的logsystem

2021-06-15 18:29:21 字數 2486 閱讀 6654

這是乙個簡單的logsystem,主要目的是提供乙個簡單的實現方式,以後複雜的應用可以在這個基礎上改進,

介面上基本上把fstream包了一層,而且也在std namespace裡.本來是本來是從basic_ofstrem繼承的,

後來想想那樣有些東西難處理(主要是要對輸出做限制)

該log可以對輸出級別進行限制,只對在允許範圍內的輸出資訊被輸出,否則不輸出》

以後準備做成可以輸出html格式的。加一些便利函式,輸出日期啊等.

#ifndef __logsytem_h__

#define __logsytem_h__

/*stanlylee's log system

module name : logstream

*/#ifdef _win32

#include

#endif

#include

namespacestd

public:

typedefbasic_ofstream_myfilestrem;

typedefbasic_ios_mybaseios;

typedefbasic_logstream_myos;

typedefbasic_ostream_mybasos;

enumlogmode

;basic_logstream()

basic_logstream(constchar* _filename,bool

//basic operation like fstream;

voidopen(constchar* _filename,bool

voidclose()

boolfail()

boolis_open()

boolbad()

voidsetstate(ios_base::iostate _state,bool_expcept = false)

voidsetstate(ios_base::io_state _state)

voidclear(ios_base::iostate _state = ios_base::goodbit,bool_expcept = false)

voidclear(ios_base::io_state _state)

type fill(type _newfill)

type fill()

ios::fmtflags flags()

ios::fmtflags flags(ios::fmtflags _newflags)

_myos& flush()

booloperator!()

operatorvoid* ()

boolopfx()

voidosfx()

streamsize precision()

streamsize precision(streamsize _newprecision)

streamsize width()

streamsize width(streamsize _newprecision)

//operator <<

template<typenamedatatype>_myos&operator<<(datatype data)

//manipulators

_myos&operator<<(_mybasos& (__cdecl *_pfn)(_mybasos&))

_myos&operator<<(_mybaseios& (__cdecl *_pfn)(_mybaseios&))

_myos&operator<<(ios_base& (__cdecl *_pfn)(ios_base&))

voidset_forbidden_level(intlevel)

voidset_level(intlevel)

/**here is the format;

*/voidtrace(constchar* fmt, ...)

;typedefbasic_logstream<char, char_traits<char> > logstream;

typedefbasic_logstream<wchar_t, char_traits<wchar_t> > wlogstream;

}#endif

乙個簡單的verlig程式 乙個簡單C程式的介紹

我們前面學了c語言的一些理論知識,今天通過乙個簡單的程式先來看一看c語言程式是什麼樣子。然後再對程式中的 進行介紹。這個語句的功能是進行有關的預處理操作。include稱為檔案包含命令,後面尖括號的內容稱為標頭檔案或首檔案。此處指包含stdio.h系統標頭檔案,在下面主函式中使用的printf 函式...

乙個簡單的Timer

關於system pause 的作用是暫停一下程式,等待按回車鍵繼續執行下一語句,類似getchar 的作用,不改變程式流程 system是呼叫dos的命令列,你還可以呼叫其他的命令,比如 system md d wang 這就是呼叫dos命令中的md命令,在d盤的根目錄下建立乙個資料夾,名字為wa...

乙個簡單的job Oracle

以前總在想 如果能讓 資料庫 自己在某種特定的條件下 比如時間這種特定的條件下 自己執行一些事務,比如在夜裡12 00執行資料備份,定期向表中插入一些資料.這時選擇 job 來實現以上的一些功能就是乙個不錯的選擇 下面是我寫的乙個最簡單的 job 例子,大家有什麼好方法也可以寫出來 這個job 執行...