| 625 | } |
| 626 | |
| 627 | static 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 | } |
no test coverage detected