diff options
-rw-r--r-- | server/server/log.cpp | 16 | ||||
-rw-r--r-- | server/server/log.h | 2 | ||||
-rw-r--r-- | server/server/main.cpp | 2 |
3 files changed, 19 insertions, 1 deletions
diff --git a/server/server/log.cpp b/server/server/log.cpp index 7cd4ecc..9dfddf4 100644 --- a/server/server/log.cpp +++ b/server/server/log.cpp @@ -30,6 +30,22 @@ logtofile& logtofile::operator<<(int buf) log.close(); return *this; } +logtofile& logtofile::operator<<(size_t buf) +{ + return operator<<((int)buf); +} + +logtofile& logtofile::operator<<(char buf) +{ + log.open(path, std::ios::app | std::ios::out); + if(log.fail()) + std::cerr << "Failed to open log "<< path <<"\n"; + else + log<<buf; + log.close(); + return *this; +} + logtofile::logtofile(const char *pth) { diff --git a/server/server/log.h b/server/server/log.h index 9f35bc4..c55772a 100644 --- a/server/server/log.h +++ b/server/server/log.h @@ -9,6 +9,8 @@ public: logtofile& operator<<(const char *buf); logtofile& operator<<(std::string buf); logtofile& operator<<(int buf); + logtofile& operator<<(size_t buf); + logtofile& operator<<(char buf); ~logtofile(); logtofile(const char *pth); logtofile(); diff --git a/server/server/main.cpp b/server/server/main.cpp index f3fee9b..2cd5a4a 100644 --- a/server/server/main.cpp +++ b/server/server/main.cpp @@ -609,7 +609,7 @@ void session::proto_parser(std::vector<byte>& data) *logger<< time_str() << ": file upload request from "<<remote_ip<< " session " << this_sid << " are permited \n"; logger->unlock(); for(int i = 0; i < data.size(); ++i) - *logger << data[i]; + *logger << (char)data[i]; it++; std::string filename; for(;;++it) |