00001
#ifndef logging_log_trace_H
00002
#define logging_log_trace_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00032
#ifndef __cplusplus
00033
#error This is a C++ include file and cannot be used from plain C
00034
#endif
00035
00036
#include <string>
00037
#include "loggingLogger.h"
00038
00039
00040
namespace Logging
00041 {
00042
00046 class LogTrace
00047 {
00048
public:
00050
typedef Loki::SmartPtr<
LogTrace,
00051 Loki::NoCopy,
00052 Loki::DisallowConversion,
00053 Loki::RejectNull,
00054 Loki::DefaultSPStorage>
LogTraceSmartPtr;
00055
00063
LogTrace(
Logger::LoggerSmartPtr logger,
00064
const std::string &method,
00065
const std::string &file,
00066
unsigned long line);
00067
00073
LogTrace(
Logger::LoggerSmartPtr logger,
00074
const std::string &method);
00075
00079
virtual
00080
~LogTrace();
00081
00082
protected:
00083
00091
virtual void
00092
entryLog(
Logger::LoggerSmartPtr logger,
00093 std::string method,
00094 std::string file,
00095
unsigned long line);
00096
00097
private:
00099 Logger::LoggerSmartPtr logger_m;
00100
00102 std::string
methodName_m;
00103
00104
00105 std::string
fileName_m;
00106
00107
00108 unsigned long lineNumber_m;
00109 };
00110
00111 };
00112
00113
#endif