3 #include "boost/date_time/gregorian/gregorian.hpp"
4 #include "boost/date_time/posix_time/posix_time.hpp"
9 struct logger : public singleton<logger>
14 void write(const boost::wformat & fmt);
15 void write(const std::wstring & mes);
16 void write(const TCHAR * mes);
17 void write(const std::wistream & st);
20 boost::shared_ptr<impl> m_impl;
23 void debug_out(const char * file_name,const int line,boost::wformat& fmt);
24 void debug_out(const char * file_name,const int line,const std::wstring& str);
25 void debug_out(const char * file_name,const int line,const char* str);
26 void debug_out(const char * file_name,const int line,const wchar_t* str);
29 #define WRITE_LOG(s) \
30 sf::logger::instance()->write(boost::wformat(_T("%s %s %6d %s")) % boost::posix_time::second_clock::local_time() % (TCHAR*)sf::ca2t(__FILE__) % __LINE__ % (s))
33 #define SFTRACE(x) sf::debug_out(__FILE__,__LINE__,(x))