MCPcopy Create free account
hub / github.com/SOUI2/soui / parseConfigLine

Function parseConfigLine

components/log4z/log4z.cpp:627–778  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

625}
626
627static bool parseConfigLine(const std::string& line, int curLineNum, std::string & key, std::map<std::string, LoggerInfo> & outInfo)
628{
629 std::pair<std::string, std::string> kv = splitPairString(line, "=");
630 if (kv.first.empty())
631 {
632 return false;
633 }
634
635 trimLogConfig(kv.first);
636 trimLogConfig(kv.second);
637 if (kv.first.empty() || kv.first.at(0) == '#')
638 {
639 return true;
640 }
641
642 if (kv.first.at(0) == '[')
643 {
644 trimLogConfig(kv.first, "[]");
645 key = kv.first;
646 {
647 std::string tmpstr = kv.first;
648 std::transform(tmpstr.begin(), tmpstr.end(), tmpstr.begin(), ::tolower);
649 if (tmpstr == "main")
650 {
651 key = "Main";
652 }
653 }
654 std::map<std::string, LoggerInfo>::iterator iter = outInfo.find(key);
655 if (iter == outInfo.end())
656 {
657 LoggerInfo li;
658 li._enable = true;
659 li._key = key;
660 li._name = key;
661 outInfo.insert(std::make_pair(li._key, li));
662 }
663 else
664 {
665 std::cout << "log4z configure warning: duplicate logger key:["<< key << "] at line:" << curLineNum << std::endl;
666 }
667 return true;
668 }
669 trimLogConfig(kv.first);
670 trimLogConfig(kv.second);
671 std::map<std::string, LoggerInfo>::iterator iter = outInfo.find(key);
672 if (iter == outInfo.end())
673 {
674 std::cout << "log4z configure warning: not found current logger name:["<< key << "] at line:" << curLineNum
675 << ", key=" << kv.first << ", value=" << kv.second << std::endl;
676 return true;
677 }
678 std::transform(kv.first.begin(), kv.first.end(), kv.first.begin(), ::tolower);
679 //! path
680 if (kv.first == "path")
681 {
682 iter->second._path = kv.second;
683 return true;
684 }

Callers 1

parseConfigFromStringFunction · 0.85

Calls 10

splitPairStringFunction · 0.85
trimLogConfigFunction · 0.85
atMethod · 0.80
transformFunction · 0.50
emptyMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
findMethod · 0.45
insertMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected