From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- .../x-cvsweb-markup&sortby=date/index.html | 87 ++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 cvs/cvsweb.cgi/code/nel/doc/logging.dxt?rev=1.4&content-type=text/x-cvsweb-markup&sortby=date/index.html (limited to 'cvs/cvsweb.cgi/code/nel/doc/logging.dxt?rev=1.4&content-type=text/x-cvsweb-markup&sortby=date/index.html') diff --git a/cvs/cvsweb.cgi/code/nel/doc/logging.dxt?rev=1.4&content-type=text/x-cvsweb-markup&sortby=date/index.html b/cvs/cvsweb.cgi/code/nel/doc/logging.dxt?rev=1.4&content-type=text/x-cvsweb-markup&sortby=date/index.html new file mode 100644 index 00000000..b75d0e77 --- /dev/null +++ b/cvs/cvsweb.cgi/code/nel/doc/logging.dxt?rev=1.4&content-type=text/x-cvsweb-markup&sortby=date/index.html @@ -0,0 +1,87 @@ + + + +code/nel/doc/logging.dxt - view - 1.4 + +
[BACK] Return to logging.dxt + CVS log [TXT][DIR] Up to Nevrax / code / nel / doc

File: Nevrax / code / nel / doc / logging.dxt (download)
+Revision 1.4, Mon Feb 5 16:11:36 2001 UTC (17 months, 3 weeks ago) by lecroart +
Branch: MAIN +
CVS Tags: proto_0_2, nel_0_3
Changes since 1.3: +1 -1 + lines
+new display system
+
+

/**
+ \page log_howto How to log information ?
+ \author Olivier Cado
+
+ This document explains how to log some information (into the screen, into a file or to a logging server), e.g. in order to debug your code.
+ You need to include the following header files : "nel/misc/debug.h" "nel/misc/log.h".
+
+ \subsection init_log Initialization
+
+ In the initialization of your service (see NLNET::IService), attach some displayers to the global NLMISC::CLog objects
+ \e ErrorLog, \e WarningLog, \e InfoLog, \e DebugLog and \e AssertLog.
+ NLMISC::CStdDisplayer is for the screen (and VC++ debug window). It is attached by default to all of the five logger objects mentionned above.
+ NLMISC::CFileDisplayer is for a file.
+ NLMISC::CMsgBoxDisplayer is for a message box.
+ NLNET::CNetDisplayer is for a logging server (see CLogService in the server documentation)
+
+ If your program is not a service (i.e. it is not inherited from NLNET::IService),
+ don't forget to call \b NLMISC::InitDebug() at the beginning of your program, otherwise
+ the logging functions won't work.
+
+ Example :
+ \code
+
+ NLMISC::InitDebug(); // if your program does not inherit from NLNET::IService
+ NLNET::CNetDisplayer *nd = new CNetDisplayer(); // the address of the Logging Server is automatically retrieved using the Naming Service
+ if ( nd->connected() ) // this line is optional: here we don't want the displayer to attempt other connections if the first one failed
+ {
+     NLMISC::DebugLog.addDisplayer( nd );
+ }
+ \endcode
+
+ \subsection use_log Logging information
+ In your code, use the macros :  \e nlerror, \e nlwarning, \e nlinfo, \e nldebug with a variable number of arguments.
+ You have to include the header "nel/misc/debug.h".
+
+ Example :
+ \code
+ nldebug( "Toto is %d years old", age );
+ if ( age < 0 )
+ {
+     nlerror( "Invalid age for toto : %d", age );
+     // the program counter will never be here because nlerror throw an exception to exit
+ }
+ \endcode
+
+ - How to log a string without repeating the header ?
+
+ The macros nldebug() and nlerror() call some methods of NLMISC::CLog, including displayNL().
+ It prints a string with an information header.
+ If you don't want to print the header, use the others methods of NLMISC::CLog.
+
+ Example :
+ \code
+ NLMISC::DebugLog.displayNL ( "Dump of Values :" );
+ for ( int j=0; j!=height; ++j )
+ {
+     for ( int i=0; i!=width; ++i )
+     {
+         NLMISC::DebugLog.displayRaw( "%d ", Values[j][i] );
+     }
+     NLMISC::DebugLog.displayRawNL( ": line %d", j );
+ }
+ \endcode
+
+ \subsection network_transfers Analysing network transfers
+
+ NLNET::NetLog (declared in "nel/net/nel_log.h") is a special logger that allows to send output and input logs to a logging server.
+ These logs are produced by the network subsystem and have a special syntax so that an analyser can process them and display the transfers
+ graphically in real-time.
+
+ By default, all services (see NLNET::IService) send this kind of logs if they find a logging server.
+
+*/
+
\ No newline at end of file -- cgit v1.2.1