From dd17fbc52b74b2bb995203f41ef505fdde579bc6 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 5 Jan 2016 19:02:06 -0500 Subject: [PATCH] iocsh command to set pva log level --- p2pApp/server.cpp | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/p2pApp/server.cpp b/p2pApp/server.cpp index 9de1e1c..dd134f8 100644 --- a/p2pApp/server.cpp +++ b/p2pApp/server.cpp @@ -537,6 +537,36 @@ void refCheck(int lvl) } } +void pvadebug(const char *lvl) +{ + try { + std::string lname(lvl ? lvl : "warn"); + pva::pvAccessLogLevel elvl; + if(lname=="off" || lname=="-2") + elvl = pva::logLevelOff; + else if(lname=="fatal" || lname=="-1") + elvl = pva::logLevelFatal; + else if(lname=="error" || lname=="0") + elvl = pva::logLevelError; + else if(lname=="warn" || lname=="1") + elvl = pva::logLevelWarn; + else if(lname=="info" || lname=="2") + elvl = pva::logLevelInfo; + else if(lname=="debug" || lname=="3") + elvl = pva::logLevelDebug; + else if(lname=="trace" || lname=="4") + elvl = pva::logLevelTrace; + else if(lname=="all" || lname=="5") + elvl = pva::logLevelAll; + else + throw std::invalid_argument("Unknown level name, must be one of off|fatal|error|warn|info|debug|trace|all"); + + pva::pvAccessSetLogLevel(elvl); + }catch(std::exception& e){ + std::cout<<"Error: "<("gwstatus", "level", "channel name/pattern"); iocshRegister("gwdrop", "channel"); iocshRegister("gwref", "level"); - + iocshRegister("pvadebug", "level"); } void gwServerShutdown()