Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
Log.h
Package: vnc3326s.zip [view]
Upload User: sbftbdw
Upload Date: 2007-01-03
Package Size: 379k
Code Size: 2k
Category:
Remote Control
Development Platform:
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;
- };