00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef MS_LOG_IMPL_HPP
00021 #define MS_LOG_IMPL_HPP
00022
00023
00024 #ifndef SWIG
00025 #if defined(_INTERNAL_USE_AND_HAVE_BOOST_FORMAT) || defined(DOXYGEN_SHOULD_SKIP_THIS)
00026
00027 #include "boost/format.hpp"
00028
00029 namespace matrix_science {
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00052 template <typename T1>
00053 void ms_log::logMessage(ms_log::msg_num_t msgNum, const char * srcFile, const int lineNum, T1 arg1) {
00054 if (willMessageBeLogged(msgNum)) {
00055 ms_log::msg_sev severity;
00056 std::string unformattedMsg = _lookUpMsg(msgNum, severity);
00057 boost::format fmter(unformattedMsg);
00058 if (fmter.expected_args() == 1) {
00059 fmter % arg1;
00060 _setError(static_cast<int>(msgNum), fmter.str().c_str(), severity, "", -1, lineNum, srcFile);
00061 } else {
00062 _setError(static_cast<int>(msgNum), unformattedMsg.c_str(), severity, "", -1, lineNum, srcFile);
00063 }
00064 }
00065 }
00066
00076 template <typename T1, typename T2>
00077 void ms_log::logMessage(ms_log::msg_num_t msgNum, const char * srcFile, const int lineNum, T1 arg1, T2 arg2) {
00078 if (willMessageBeLogged(msgNum)) {
00079 ms_log::msg_sev severity;
00080 std::string unformattedMsg = _lookUpMsg(msgNum, severity);
00081 boost::format fmter(unformattedMsg);
00082 if (fmter.expected_args() == 2) {
00083 fmter % arg1 %arg2;
00084 _setError(static_cast<int>(msgNum), fmter.str().c_str(), severity, "", -1, lineNum, srcFile);
00085 } else {
00086 _setError(static_cast<int>(msgNum), unformattedMsg.c_str(), severity, "", -1, lineNum, srcFile);
00087 }
00088 }
00089 }
00090
00101 template <typename T1, typename T2, typename T3>
00102 void ms_log::logMessage(ms_log::msg_num_t msgNum, const char * srcFile, const int lineNum, T1 arg1, T2 arg2, T3 arg3) {
00103 if (willMessageBeLogged(msgNum)) {
00104 ms_log::msg_sev severity;
00105 std::string unformattedMsg = _lookUpMsg(msgNum, severity);
00106 boost::format fmter(unformattedMsg);
00107 if (fmter.expected_args() == 3) {
00108 fmter % arg1 %arg2 %arg3;
00109 _setError(static_cast<int>(msgNum), fmter.str().c_str(), severity, "", -1, lineNum, srcFile);
00110 } else {
00111 _setError(static_cast<int>(msgNum), unformattedMsg.c_str(), severity, "", -1, lineNum, srcFile);
00112 }
00113 }
00114 }
00115
00116
00128 template <typename T1, typename T2, typename T3, typename T4>
00129 void ms_log::logMessage(ms_log::msg_num_t msgNum, const char * srcFile, const int lineNum, T1 arg1, T2 arg2, T3 arg3, T4 arg4) {
00130 if (willMessageBeLogged(msgNum)) {
00131 ms_log::msg_sev severity;
00132 std::string unformattedMsg = _lookUpMsg(msgNum, severity);
00133 boost::format fmter(unformattedMsg);
00134 if (fmter.expected_args() == 4) {
00135 fmter % arg1 %arg2 %arg3 %arg4;
00136 _setError(static_cast<int>(msgNum), fmter.str().c_str(), severity, "", -1, lineNum, srcFile);
00137 } else {
00138 _setError(static_cast<int>(msgNum), unformattedMsg.c_str(), severity, "", -1, lineNum, srcFile);
00139 }
00140 }
00141 }
00142
00143
00156 template <typename T1, typename T2, typename T3, typename T4, typename T5>
00157 void ms_log::logMessage(ms_log::msg_num_t msgNum, const char * srcFile, const int lineNum, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) {
00158 if (willMessageBeLogged(msgNum)) {
00159 ms_log::msg_sev severity;
00160 std::string unformattedMsg = _lookUpMsg(msgNum, severity);
00161 boost::format fmter(unformattedMsg);
00162 if (fmter.expected_args() == 5) {
00163 fmter % arg1 %arg2 %arg3 %arg4 %arg5;
00164 _setError(static_cast<int>(msgNum), fmter.str().c_str(), severity, "", -1, lineNum, srcFile);
00165 } else {
00166 _setError(static_cast<int>(msgNum), unformattedMsg.c_str(), severity, "", -1, lineNum, srcFile);
00167 }
00168 }
00169 }
00170
00184 template <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
00185 void ms_log::logMessage(ms_log::msg_num_t msgNum, const char * srcFile, const int lineNum, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) {
00186 if (willMessageBeLogged(msgNum)) {
00187 ms_log::msg_sev severity;
00188 std::string unformattedMsg = _lookUpMsg(msgNum, severity);
00189 boost::format fmter(unformattedMsg);
00190 if (fmter.expected_args() == 6) {
00191 fmter % arg1 %arg2 %arg3 %arg4 %arg5 %arg6;
00192 _setError(static_cast<int>(msgNum), fmter.str().c_str(), severity, "", -1, lineNum, srcFile);
00193 } else {
00194 _setError(static_cast<int>(msgNum), unformattedMsg.c_str(), severity, "", -1, lineNum, srcFile);
00195 }
00196 }
00197 }
00198
00213 template <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
00214 void ms_log::logMessage(ms_log::msg_num_t msgNum, const char * srcFile, const int lineNum, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) {
00215 if (willMessageBeLogged(msgNum)) {
00216 ms_log::msg_sev severity;
00217 std::string unformattedMsg = _lookUpMsg(msgNum, severity);
00218 boost::format fmter(unformattedMsg);
00219 if (fmter.expected_args() == 7) {
00220 fmter % arg1 %arg2 %arg3 %arg4 %arg5 %arg6 %arg7;
00221 _setError(static_cast<int>(msgNum), fmter.str().c_str(), severity, "", -1, lineNum, srcFile);
00222 }
00223 else {
00224 _setError(static_cast<int>(msgNum), unformattedMsg.c_str(), severity, "", -1, lineNum, srcFile);
00225 }
00226 }
00227 }
00228
00244 template <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
00245 void ms_log::logMessage(ms_log::msg_num_t msgNum, const char * srcFile, const int lineNum, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8) {
00246 if (willMessageBeLogged(msgNum)) {
00247 ms_log::msg_sev severity;
00248 std::string unformattedMsg = _lookUpMsg(msgNum, severity);
00249 boost::format fmter(unformattedMsg);
00250 if (fmter.expected_args() == 8) {
00251 fmter % arg1 %arg2 %arg3 %arg4 %arg5 %arg6 %arg7 %arg8;
00252 _setError(static_cast<int>(msgNum), fmter.str().c_str(), severity, "", -1, lineNum, srcFile);
00253 }
00254 else {
00255 _setError(static_cast<int>(msgNum), unformattedMsg.c_str(), severity, "", -1, lineNum, srcFile);
00256 }
00257 }
00258 }
00259
00276 template <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
00277 void ms_log::logMessage(ms_log::msg_num_t msgNum, const char * srcFile, const int lineNum, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9) {
00278 if (willMessageBeLogged(msgNum)) {
00279 ms_log::msg_sev severity;
00280 std::string unformattedMsg = _lookUpMsg(msgNum, severity);
00281 boost::format fmter(unformattedMsg);
00282 if (fmter.expected_args() == 9) {
00283 fmter % arg1 %arg2 %arg3 %arg4 %arg5 %arg6 %arg7 %arg8 %arg9;
00284 _setError(static_cast<int>(msgNum), fmter.str().c_str(), severity, "", -1, lineNum, srcFile);
00285 }
00286 else {
00287 _setError(static_cast<int>(msgNum), unformattedMsg.c_str(), severity, "", -1, lineNum, srcFile);
00288 }
00289 }
00290 }
00291
00292 #endif
00293 #endif
00294
00295 }
00296
00297 #endif // MS_LOG_IMPL_HPP
00298
00299