| /* | |
| * Licensed to the Apache Software Foundation (ASF) under one or more | |
| * contributor license agreements. See the NOTICE file distributed with | |
| * this work for additional information regarding copyright ownership. | |
| * The ASF licenses this file to You under the Apache License, Version 2.0 | |
| * (the "License"); you may not use this file except in compliance with | |
| * the License. You may obtain a copy of the License at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, software | |
| * distributed under the License is distributed on an "AS IS" BASIS, | |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| * See the License for the specific language governing permissions and | |
| * limitations under the License. | |
| */ | |
| #include "xlevel.h" | |
| #include <log4cxx/helpers/stringhelper.h> | |
| using namespace log4cxx; | |
| using namespace log4cxx::helpers; | |
| IMPLEMENT_LOG4CXX_LEVEL(XLevel) | |
| XLevel::XLevel(int level1, const LogString& name1, int syslogEquivalent1) | |
| : Level(level1, name1, syslogEquivalent1) | |
| { | |
| } | |
| LevelPtr XLevel::getTrace() | |
| { | |
| static const LevelPtr trace(new XLevel(XLevel::TRACE_INT, LOG4CXX_STR("TRACE"), 7)); | |
| return trace; | |
| } | |
| LevelPtr XLevel::getLethal() | |
| { | |
| static const LevelPtr lethal(new XLevel(XLevel::LETHAL_INT, LOG4CXX_STR("LETHAL"), 0)); | |
| return lethal; | |
| } | |
| LevelPtr XLevel::toLevelLS(const LogString& sArg) | |
| { | |
| return toLevelLS(sArg, getTrace()); | |
| } | |
| LevelPtr XLevel::toLevel(int val) | |
| { | |
| return toLevel(val, getTrace()); | |
| } | |
| LevelPtr XLevel::toLevel(int val, const LevelPtr& defaultLevel) | |
| { | |
| switch (val) | |
| { | |
| case TRACE_INT: | |
| return getTrace(); | |
| case LETHAL_INT: | |
| return getLethal(); | |
| default: | |
| return defaultLevel; | |
| } | |
| } | |
| LevelPtr XLevel::toLevelLS(const LogString& sArg, const LevelPtr& defaultLevel) | |
| { | |
| if (sArg.empty()) | |
| { | |
| return defaultLevel; | |
| } | |
| if (StringHelper::equalsIgnoreCase(sArg, | |
| LOG4CXX_STR("TRACE"), LOG4CXX_STR("trace"))) | |
| { | |
| return getTrace(); | |
| } | |
| if (StringHelper::equalsIgnoreCase(sArg, | |
| LOG4CXX_STR("LETHAL"), LOG4CXX_STR("lethal"))) | |
| { | |
| return getLethal(); | |
| } | |
| return Level::toLevel(sArg, defaultLevel); | |
| } | |