- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
Log.h
资源名称:vnc3326s.zip [点击查看]
上传用户:sbftbdw
上传日期:2007-01-03
资源大小:379k
文件大小:2k
源码类别:
远程控制编程
开发平台:
Visual C++
- // This is an object and macros which provide general logging and debugging functions.
- // It can log to a file, to a new console, and/or to debug - others maybe to follow.
- // Every log object has a logging level (which can be changed).
- // Only log requests with a high enough level attached get logged. So the
- // level can be thought of as 'amount of detail'.
- // We use Unicode-portable stuff here for compatibility with WinCE.
- //
- // Typical use:
- //
- // Log log;
- // log.SetFile( _T("myapp.log") );
- // ...
- // log.Print(2, _T("x = %dn"), x);
- //
- #pragma once
- #include <stdarg.h>
- class Log
- {
- public:
- // Logging mode flags:
- static const int ToDebug;
- static const int ToFile;
- static const int ToConsole;
- // Create a new log object.
- // Parameters as follows:
- // mode - specifies where output should go, using combination
- // of flags above. ToConsole won't do anything on CE.
- // level - the default level
- // filename - if flag Log::ToFile is specified in the type,
- // a filename must be specified here.
- // append - if logging to a file, whether or not to append to any
- // existing log.
- Log(int mode = ToDebug, int level = 1, LPTSTR filename = NULL, bool append = false);
- inline void Print(int level, LPTSTR format, ...) {
- if (level > m_level) return;
- va_list ap;
- va_start(ap, format);
- ReallyPrint(format, ap);
- va_end(ap);
- }
- // Change the log level
- void SetLevel(int level);
- // Change the logging mode
- void SetMode(int mode);
- // Change or set the logging filename. This enables ToFile mode if
- // not already enabled.
- void SetFile(LPTSTR filename, bool append = false);
- virtual ~Log();
- private:
- void ReallyPrint(LPTSTR format, va_list ap);
- void CloseFile();
- bool m_tofile, m_todebug, m_toconsole;
- int m_level;
- HANDLE hlogfile;
- };