Commit 61a2f7ad authored by Pavel Vainerman's avatar Pavel Vainerman Committed by Pavel Vainerman

[logserver]: supported "--timezone utc|local" command

parent 6519cced
......@@ -37,6 +37,7 @@ static struct option longopts[] =
{ "logfile", required_argument, 0, 'w' },
{ "logfile-truncate", required_argument, 0, 'z' },
{ "grep", required_argument, 0, 'g' },
{ "timezone", required_argument, 0, 'm' },
{ NULL, 0, 0, 0 }
};
// --------------------------------------------------------------------------
......@@ -75,6 +76,7 @@ static void print_help()
printf("[-r | --rotate] [objName] - rotate log file.\n");
printf("[-u | --save-loglevels] [objName] - save log levels (disable restore after disconnected).\n");
printf("[-y | --restore-loglevels] [objName] - restore default log levels.\n");
printf("[-m | --timezone] [local|utc] - set time zone for log, local or UTC.\n");
printf("\n");
printf("Examples:\n");
......@@ -121,7 +123,7 @@ int main( int argc, char** argv )
{
while(1)
{
opt = getopt_long(argc, argv, "chvlf:a:p:i:d:s:n:eorbx:w:zt:g:uby:", longopts, &optindex);
opt = getopt_long(argc, argv, "chvlf:a:p:i:d:s:n:eorbx:w:zt:g:uby:m:", longopts, &optindex);
if( opt == -1 )
break;
......@@ -279,6 +281,24 @@ int main( int argc, char** argv )
}
break;
case 'm':
{
LogServerTypes::Command cmd;
std::string tz(optarg);
if( tz == "local" )
cmd = LogServerTypes::cmdShowLocalTime;
else if( tz == "utc" )
cmd = LogServerTypes::cmdShowUTCTime;
else
{
cerr << "Error: Unknown timezone '" << tz << "'. Must be 'local' or 'utc'" << endl;
return 1;
}
vcmd.emplace_back(cmd, 0, "");
}
break;
case 'i':
addr = string(optarg);
break;
......
......@@ -44,8 +44,12 @@ namespace uniset
// команды требующие ответа..
cmdList, /*!< вывести список контролируемых логов */
cmdFilterMode, /*!< включить режим работы "фильтр" - вывод только от интересующих логов, заданных в logname (regexp) */
cmdViewDefaultLogLevel /*!< вывести уровни логов сохранённых как умолчательный (cmdSaveLogLevel) */
cmdViewDefaultLogLevel, /*!< вывести уровни логов сохранённых как умолчательный (cmdSaveLogLevel) */
// cmdSetLogFile
// другие команды
cmdShowLocalTime, /*!< выводить локальное время */
cmdShowUTCTime /*!< выводить UTC время (по умолчанию) */
};
std::ostream& operator<<(std::ostream& os, Command c );
......
......@@ -538,6 +538,14 @@ namespace uniset
l.log->signal_stream_event().connect( sigc::mem_fun(this, &LogSession::logOnEvent) );
break;
case LogServerTypes::cmdShowLocalTime:
l.log->showLocalTime(true);
break;
case LogServerTypes::cmdShowUTCTime:
l.log->showLocalTime(false);
break;
case LogServerTypes::cmdList:
case LogServerTypes::cmdSaveLogLevel:
case LogServerTypes::cmdRestoreLogLevel:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment