Line 1... |
Line 1... |
1 |
/*
|
1 |
/*
|
2 |
* Copyright (C) 2020 to 2024 by Andreas Theofilu <andreas@theosys.at>
|
2 |
* Copyright (C) 2020 to 2025 by Andreas Theofilu <andreas@theosys.at>
|
3 |
*
|
3 |
*
|
4 |
* This program is free software; you can redistribute it and/or modify
|
4 |
* This program is free software; you can redistribute it and/or modify
|
5 |
* it under the terms of the GNU General Public License as published by
|
5 |
* it under the terms of the GNU General Public License as published by
|
6 |
* the Free Software Foundation; either version 3 of the License, or
|
6 |
* the Free Software Foundation; either version 3 of the License, or
|
7 |
* (at your option) any later version.
|
7 |
* (at your option) any later version.
|
Line 481... |
Line 481... |
481 |
*mStream << "(C) Copyright by Andreas Theofilu <andreas@theosys.at>\n" << std::endl;
|
481 |
*mStream << "(C) Copyright by Andreas Theofilu <andreas@theosys.at>\n" << std::endl;
|
482 |
|
482 |
|
483 |
if (mLogLevel > 0)
|
483 |
if (mLogLevel > 0)
|
484 |
{
|
484 |
{
|
485 |
if (TConfig::isLongFormat())
|
485 |
if (TConfig::isLongFormat())
|
486 |
*mStream << "Timestamp Type LNr., File name , ThreadID Message" << std::endl;
|
486 |
*mStream << "Timestamp , Type, LNr., File name , ThreadID, Message" << std::endl;
|
487 |
else
|
487 |
else
|
488 |
*mStream << "Type LNr., ThreadID Message" << std::endl;
|
488 |
*mStream << "Type, LNr., ThreadID, Message" << std::endl;
|
489 |
|
489 |
|
490 |
*mStream << "-----------------------------------------------------------------" << std::endl << std::flush;
|
490 |
*mStream << "-----------------------------------------------------------------" << std::endl << std::flush;
|
491 |
}
|
491 |
}
|
492 |
else
|
492 |
else
|
493 |
*mStream << std::flush;
|
493 |
*mStream << std::flush;
|
Line 693... |
Line 693... |
693 |
|
693 |
|
694 |
TError::setErrorType(TERRTRACE);
|
694 |
TError::setErrorType(TERRTRACE);
|
695 |
std::lock_guard<mutex> guardm(message_mutex);
|
695 |
std::lock_guard<mutex> guardm(message_mutex);
|
696 |
|
696 |
|
697 |
if (!TConfig::isLongFormat())
|
697 |
if (!TConfig::isLongFormat())
|
698 |
*TError::Current()->getStream() << "TRC " << std::setw(5) << std::right << line << ", " << _threadIDtoStr(mThreadID) << " " << indent << "{entry " << msg << std::endl;
|
698 |
*TError::Current()->getStream() << "TRC, " << std::setw(5) << std::right << line << ", " << _threadIDtoStr(mThreadID) << ", " << indent << "{entry " << msg << std::endl;
|
699 |
else
|
699 |
else
|
700 |
*TError::Current()->getStream() << TStreamError::getTime() << " TRC " << std::setw(5) << std::right << line << ", " << std::setw(20) << std::left << mFile << ", " << _threadIDtoStr(mThreadID) << " " << indent << "{entry " << msg << std::endl;
|
700 |
*TError::Current()->getStream() << TStreamError::getTime() << ", TRC, " << std::setw(5) << std::right << line << ", " << std::setw(20) << std::left << mFile << ", " << _threadIDtoStr(mThreadID) << ", " << indent << "{entry " << msg << std::endl;
|
701 |
|
701 |
|
702 |
TError::Current()->incIndent();
|
702 |
TError::Current()->incIndent();
|
703 |
mHeadMsg = msg;
|
703 |
mHeadMsg = msg;
|
704 |
mLine = line;
|
704 |
mLine = line;
|
705 |
|
705 |
|
Line 731... |
Line 731... |
731 |
std::lock_guard<mutex> guardm(message_mutex);
|
731 |
std::lock_guard<mutex> guardm(message_mutex);
|
732 |
|
732 |
|
733 |
if (TConfig::getProfiling())
|
733 |
if (TConfig::getProfiling())
|
734 |
{
|
734 |
{
|
735 |
if (!TConfig::isLongFormat())
|
735 |
if (!TConfig::isLongFormat())
|
736 |
*TError::Current()->getStream() << "TRC , " << _threadIDtoStr(mThreadID) << " " << indent << "}exit " << mHeadMsg << " Elapsed time: " << nanosecs << std::endl;
|
736 |
*TError::Current()->getStream() << "TRC, , " << _threadIDtoStr(mThreadID) << ", " << indent << "}exit " << mHeadMsg << " Elapsed time: " << nanosecs << std::endl;
|
737 |
else
|
737 |
else
|
738 |
*TError::Current()->getStream() << TStreamError::getTime() << " TRC , " << std::setw(20) << std::left << mFile << ", " << _threadIDtoStr(mThreadID) << " " << indent << "}exit " << mHeadMsg << " Elapsed time: " << nanosecs << std::endl;
|
738 |
*TError::Current()->getStream() << TStreamError::getTime() << ", TRC, , " << std::setw(20) << std::left << mFile << ", " << _threadIDtoStr(mThreadID) << ", " << indent << "}exit " << mHeadMsg << " Elapsed time: " << nanosecs << std::endl;
|
739 |
}
|
739 |
}
|
740 |
else
|
740 |
else
|
741 |
{
|
741 |
{
|
742 |
if (!TConfig::isLongFormat())
|
742 |
if (!TConfig::isLongFormat())
|
743 |
*TError::Current()->getStream() << "TRC , " << _threadIDtoStr(mThreadID) << " " << indent << "}exit " << mHeadMsg << std::endl;
|
743 |
*TError::Current()->getStream() << "TRC, , " << _threadIDtoStr(mThreadID) << ", " << indent << "}exit " << mHeadMsg << std::endl;
|
744 |
else
|
744 |
else
|
745 |
*TError::Current()->getStream() << TStreamError::getTime() << " TRC , " << std::setw(20) << std::left << mFile << ", " << _threadIDtoStr(mThreadID) << " " << indent << "}exit " << mHeadMsg << std::endl;
|
745 |
*TError::Current()->getStream() << TStreamError::getTime() << " TRC, , " << std::setw(20) << std::left << mFile << ", " << _threadIDtoStr(mThreadID) << ", " << indent << "}exit " << mHeadMsg << std::endl;
|
746 |
}
|
746 |
}
|
747 |
|
747 |
|
748 |
mHeadMsg.clear();
|
748 |
mHeadMsg.clear();
|
749 |
}
|
749 |
}
|
750 |
|
750 |
|
Line 889... |
Line 889... |
889 |
return os << append(lv);
|
889 |
return os << append(lv);
|
890 |
}
|
890 |
}
|
891 |
|
891 |
|
892 |
std::string TError::append(int lv)
|
892 |
std::string TError::append(int lv)
|
893 |
{
|
893 |
{
|
894 |
// std::lock_guard<mutex> guard(message_mutex);
|
- |
|
895 |
std::string prefix, out;
|
894 |
std::string prefix, out;
|
896 |
|
895 |
|
897 |
switch (lv)
|
896 |
switch (lv)
|
898 |
{
|
897 |
{
|
899 |
case HLOG_PROTOCOL: prefix = "PRT ++, "; mErrType = TERRINFO; break;
|
898 |
case HLOG_PROTOCOL: prefix = "PRT, ++, "; mErrType = TERRINFO; break;
|
900 |
case HLOG_INFO: prefix = "INF >>, "; mErrType = TERRINFO; break;
|
899 |
case HLOG_INFO: prefix = "INF, >>, "; mErrType = TERRINFO; break;
|
901 |
case HLOG_WARNING: prefix = "WRN !!, "; mErrType = TERRWARNING; break;
|
900 |
case HLOG_WARNING: prefix = "WRN, !!, "; mErrType = TERRWARNING; break;
|
902 |
case HLOG_ERROR: prefix = "ERR *****, "; mErrType = TERRERROR; break;
|
901 |
case HLOG_ERROR: prefix = "ERR, *****, "; mErrType = TERRERROR; break;
|
903 |
case HLOG_TRACE: prefix = "TRC , "; mErrType = TERRTRACE; break;
|
902 |
case HLOG_TRACE: prefix = "TRC, , "; mErrType = TERRTRACE; break;
|
904 |
case HLOG_DEBUG: prefix = "DBG --, "; mErrType = TERRDEBUG; break;
|
903 |
case HLOG_DEBUG: prefix = "DBG, --, "; mErrType = TERRDEBUG; break;
|
905 |
|
904 |
|
906 |
default:
|
905 |
default:
|
907 |
prefix = " ";
|
906 |
prefix = " ";
|
908 |
mErrType = TERRNONE;
|
907 |
mErrType = TERRNONE;
|
909 |
}
|
908 |
}
|
910 |
|
909 |
|
911 |
if (!TConfig::isLongFormat())
|
910 |
if (!TConfig::isLongFormat())
|
912 |
out = prefix + _threadIDtoStr(mThreadID) + " ";
|
911 |
out = prefix + _threadIDtoStr(mThreadID) + ", ";
|
913 |
else
|
912 |
else
|
914 |
{
|
913 |
{
|
915 |
std::stringstream s;
|
914 |
std::stringstream s;
|
916 |
s << TStreamError::getTime() << " " << prefix << std::setw(20) << " " << ", " << _threadIDtoStr(mThreadID) << " ";
|
915 |
s << TStreamError::getTime() << ", " << prefix << std::setw(20) << " " << ", " << _threadIDtoStr(mThreadID) << ", ";
|
917 |
out = s.str();
|
916 |
out = s.str();
|
918 |
}
|
917 |
}
|
919 |
|
918 |
|
920 |
return out;
|
919 |
return out;
|
921 |
}
|
920 |
}
|