root/trunk/dep/src/sockets/StdoutLog.cpp @ 2

Revision 2, 2.3 kB (checked in by yumileroy, 17 years ago)

[svn] * Proper SVN structure

Original author: Neo2003
Date: 2008-10-02 16:23:55-05:00

Line 
1/** \file StdoutLog.cpp
2 **     \date  2004-06-01
3 **     \author grymse@alhem.net
4**/
5/*
6Copyright (C) 2004-2007  Anders Hedstrom
7
8This library is made available under the terms of the GNU GPL.
9
10If you would like to use this library in a closed-source application,
11a separate license agreement is available. For information about
12the closed-source license agreement for the C++ sockets library,
13please visit http://www.alhem.net/Sockets/license.html and/or
14email license@alhem.net.
15
16This program is free software; you can redistribute it and/or
17modify it under the terms of the GNU General Public License
18as published by the Free Software Foundation; either version 2
19of the License, or (at your option) any later version.
20
21This program is distributed in the hope that it will be useful,
22but WITHOUT ANY WARRANTY; without even the implied warranty of
23MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24GNU General Public License for more details.
25
26You should have received a copy of the GNU General Public License
27along with this program; if not, write to the Free Software
28Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
29*/
30#ifdef _MSC_VER
31#pragma warning(disable:4786)
32#endif
33#include "ISocketHandler.h"
34#include "Socket.h"
35#include "StdoutLog.h"
36
37#ifdef SOCKETS_NAMESPACE
38namespace SOCKETS_NAMESPACE {
39#endif
40
41
42
43
44void StdoutLog::error(ISocketHandler *,Socket *sock,const std::string& call,int err,const std::string& sys_err,loglevel_t lvl)
45{
46        time_t t = time(NULL);
47        struct tm tp;
48#ifdef _WIN32
49        memcpy(&tp, localtime(&t), sizeof(tp));
50#else
51        localtime_r(&t, &tp);
52#endif
53        std::string level;
54       
55        switch (lvl)
56        {
57        case LOG_LEVEL_WARNING:
58                level = "Warning";
59                break;
60        case LOG_LEVEL_ERROR:
61                level = "Error";
62                break;
63        case LOG_LEVEL_FATAL:
64                level = "Fatal";
65                break;
66        case LOG_LEVEL_INFO:
67                level = "Info";
68                break;
69        }
70        if (sock)
71        {
72                printf("%d-%02d-%02d %02d:%02d:%02d :: fd %d :: %s: %d %s (%s)\n",
73                        tp.tm_year + 1900,
74                        tp.tm_mon + 1,
75                        tp.tm_mday,
76                        tp.tm_hour,tp.tm_min,tp.tm_sec,
77                        sock -> GetSocket(),
78                        call.c_str(),err,sys_err.c_str(),level.c_str());
79        }
80        else
81        {
82                printf("%d-%02d-%02d %02d:%02d:%02d :: %s: %d %s (%s)\n",
83                        tp.tm_year + 1900,
84                        tp.tm_mon + 1,
85                        tp.tm_mday,
86                        tp.tm_hour,tp.tm_min,tp.tm_sec,
87                        call.c_str(),err,sys_err.c_str(),level.c_str());
88        }
89}
90
91
92#ifdef SOCKETS_NAMESPACE
93}
94#endif
95
96
Note: See TracBrowser for help on using the browser.