This directory contains program(s) that demonstrate how to use ACE's
Log_Msg class to record various information.

        * test_callback.cpp: This program tests the Log_Msg
          abstraction wrt writing to user defined callback objects.

        * test_ostream.cpp: This program illustrates how the
          ACE_Log_Msg abstraction can be used to write to 
          stderr and to a file.  For even more sophisticated
          use-cases of ACE_Log_Msg please see the 
          $ACE_ROOT/netsvcs/clients/Logger/ examples.

	* test_log_msg.cpp: This program tests various feature of the
          Log_Msg facility.  It opens a log file and writes some
          messages using different log priorities and output stream.  

	  You can invoke the program with or without command
	  parameters.  When invoked with any parameters like,

		./Log_Msg foobar

	  the log messages are direct to stdout (or, ostream in C++.)
	  In this case, the program simulates an error EWOULDBLOCK and
	  write an error log to stdout as,

		would block
		op_status and errnum work!

	  When invoked without any parameters, except does the same
	  test as above but logs to default log stream "stderr," the
	  program also demonstrates logging messages/errors with
	  different priority and changing the logging destination.  A
	  sample output is,

	    would block
	    op_status and errnum work!
	      3.141600,         hello = 10000
	      6.283200,         world = 20000
	      6.283200,         world = 20000
	      9.424800,         world = 30000
	     12.566400,         world = 40000
	     15.708000,         world = 50000
	    HEXDUMP 48 bytes
	    01 00 00 00 02 00 00 00  04 00 00 00 08 00 00 00   ................
	    10 00 00 00 20 00 00 00  40 00 00 00 80 00 00 00   .... ...@.......
	    00 01 00 00 00 02 00 00  00 04 00 00 00 08 00 00   ................
	    ./Log_Msg.EXE: (2710), badname: Function not implemented

	  In this test, there are two lines containing "world` =
	  20000."  That's because in the program, both stderr and
	  stdout are "turned on" for logging before writing this log
	  message.  The line containing "world = 30000" is written to
	  stdout only.  Rest of the lines are all to the stderr.  You
	  can examine this behavior by redirecting stderr and stdout
	  to different files.  

	  The HEXDUMP output shows how to take an arbitrary object and
	  hexdump its content for debugging.  Finally, the program
	  shows an ordinary use case of logging error messages using
	  the ACE_ERROR macro.  

	  If you look into the program, there is also a demonstration
	  showing how to disable certain priorities of error message
	  temporarily.  
    
