Logger.cpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #include "Logger.h"
  2. #include "common/FileSystem.h"
  3. #include <OgreStringConverter.h>
  4. Logger* LOGGER = NULL; // global and accessable from anywhere in our program
  5. Ogre::String
  6. HexToString( int value, unsigned short width, char fill )
  7. {
  8. std::stringstream stream;
  9. stream.width( width );
  10. stream.fill( fill );
  11. stream.setf( std::ios::hex, std::ios::basefield );
  12. stream << value;
  13. return stream.str();
  14. }
  15. Ogre::String
  16. BoolToString( bool value )
  17. {
  18. return Ogre::StringConverter::toString( value );
  19. }
  20. Ogre::String
  21. IntToString( int value )
  22. {
  23. return Ogre::StringConverter::toString( value );
  24. }
  25. Ogre::String
  26. FloatToString( float value )
  27. {
  28. return Ogre::StringConverter::toString( value );
  29. }
  30. Logger::Logger( const Ogre::String& logFileName ):
  31. m_LogFile( logFileName )
  32. {
  33. FileSystem::RemoveFile( m_LogFile );
  34. }
  35. Logger::~Logger()
  36. {
  37. }
  38. void
  39. Logger::Log( const Ogre::String& text )
  40. {
  41. FileSystem::WriteFile(m_LogFile, text.c_str(), text.size());
  42. }
  43. void
  44. Logger::LogW( const Ogre::UTFString& text )
  45. {
  46. FileSystem::WriteFile( m_LogFile, text.c_str(), text.size() * 2 );
  47. }
  48. void
  49. Logger::Log( std::vector< unsigned char >& text )
  50. {
  51. unsigned char* temp = new unsigned char[ text.size() ];
  52. for( unsigned int i = 0; i < text.size(); ++i )
  53. {
  54. temp[ i ] = text[ i ];
  55. }
  56. FileSystem::WriteFile( m_LogFile, temp, text.size() );
  57. delete[] temp;
  58. }