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[] = ...@@ -37,6 +37,7 @@ static struct option longopts[] =
{ "logfile", required_argument, 0, 'w' }, { "logfile", required_argument, 0, 'w' },
{ "logfile-truncate", required_argument, 0, 'z' }, { "logfile-truncate", required_argument, 0, 'z' },
{ "grep", required_argument, 0, 'g' }, { "grep", required_argument, 0, 'g' },
{ "timezone", required_argument, 0, 'm' },
{ NULL, 0, 0, 0 } { NULL, 0, 0, 0 }
}; };
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
...@@ -75,6 +76,7 @@ static void print_help() ...@@ -75,6 +76,7 @@ static void print_help()
printf("[-r | --rotate] [objName] - rotate log file.\n"); printf("[-r | --rotate] [objName] - rotate log file.\n");
printf("[-u | --save-loglevels] [objName] - save log levels (disable restore after disconnected).\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("[-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("\n");
printf("Examples:\n"); printf("Examples:\n");
...@@ -121,7 +123,7 @@ int main( int argc, char** argv ) ...@@ -121,7 +123,7 @@ int main( int argc, char** argv )
{ {
while(1) 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 ) if( opt == -1 )
break; break;
...@@ -279,6 +281,24 @@ int main( int argc, char** argv ) ...@@ -279,6 +281,24 @@ int main( int argc, char** argv )
} }
break; 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': case 'i':
addr = string(optarg); addr = string(optarg);
break; break;
......
...@@ -44,8 +44,12 @@ namespace uniset ...@@ -44,8 +44,12 @@ namespace uniset
// команды требующие ответа.. // команды требующие ответа..
cmdList, /*!< вывести список контролируемых логов */ cmdList, /*!< вывести список контролируемых логов */
cmdFilterMode, /*!< включить режим работы "фильтр" - вывод только от интересующих логов, заданных в logname (regexp) */ cmdFilterMode, /*!< включить режим работы "фильтр" - вывод только от интересующих логов, заданных в logname (regexp) */
cmdViewDefaultLogLevel /*!< вывести уровни логов сохранённых как умолчательный (cmdSaveLogLevel) */ cmdViewDefaultLogLevel, /*!< вывести уровни логов сохранённых как умолчательный (cmdSaveLogLevel) */
// cmdSetLogFile // cmdSetLogFile
// другие команды
cmdShowLocalTime, /*!< выводить локальное время */
cmdShowUTCTime /*!< выводить UTC время (по умолчанию) */
}; };
std::ostream& operator<<(std::ostream& os, Command c ); std::ostream& operator<<(std::ostream& os, Command c );
......
...@@ -538,6 +538,14 @@ namespace uniset ...@@ -538,6 +538,14 @@ namespace uniset
l.log->signal_stream_event().connect( sigc::mem_fun(this, &LogSession::logOnEvent) ); l.log->signal_stream_event().connect( sigc::mem_fun(this, &LogSession::logOnEvent) );
break; break;
case LogServerTypes::cmdShowLocalTime:
l.log->showLocalTime(true);
break;
case LogServerTypes::cmdShowUTCTime:
l.log->showLocalTime(false);
break;
case LogServerTypes::cmdList: case LogServerTypes::cmdList:
case LogServerTypes::cmdSaveLogLevel: case LogServerTypes::cmdSaveLogLevel:
case LogServerTypes::cmdRestoreLogLevel: 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