00001
00002
00003
00004
00005
00006
00007
00008
00009 #include "Log.h"
00010
00011 #include "ExInfo.h"
00012
00013 #include <stdlib.h>
00014 #include <stdio.h>
00015
00016 int Log::ms_logLevel = LEVEL_INFO;
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 void
00027 Log::log(int level, const char *file, int line,
00028 const ExInfo &info) throw()
00029 {
00030 if (level <= ms_logLevel) {
00031 const char *levelName;
00032 switch (level) {
00033 case LEVEL_DEBUG:
00034 levelName = "DEBUG";
00035 break;
00036 case LEVEL_INFO:
00037 levelName = "INFO";
00038 break;
00039 case LEVEL_WARNING:
00040 levelName = "WARNING";
00041 break;
00042 case LEVEL_ERROR:
00043 levelName = "ERROR";
00044 break;
00045 default:
00046 levelName = "UNKNOWN";
00047 break;
00048 }
00049
00050 fprintf(stderr, "%s:%d: %s %s\n", file, line, levelName, info.what());
00051 }
00052 }
00053