1 /* 2 * PCMSolver, an API for the Polarizable Continuum Model 3 * Copyright (C) 2020 Roberto Di Remigio, Luca Frediani and contributors. 4 * 5 * This file is part of PCMSolver. 6 * 7 * PCMSolver is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU Lesser General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * PCMSolver is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU Lesser General Public License for more details. 16 * 17 * You should have received a copy of the GNU Lesser General Public License 18 * along with PCMSolver. If not, see <http://www.gnu.org/licenses/>. 19 * 20 * For information on the complete list of contributors to the 21 * PCMSolver API, see: <http://pcmsolver.readthedocs.io/> 22 */ 23 24 #pragma once 25 26 #ifdef ENABLE_LOGGER 27 28 #include "utils/Logger.hpp" 29 #include "utils/Timer.hpp" 30 31 static logging::logger<logging::FileLogPolicy> loggerInstance( 32 "pcmsolver.execution.log"); 33 34 #define LOG loggerInstance.print<logging::printLevel::coarse> 35 #define LOG_FINE loggerInstance.print<logging::printLevel::fine> 36 #define LOG_ALL loggerInstance.print<logging::printLevel::everything> 37 #define LOG_TIME \ 38 loggerInstance.print<logging::printLevel::timings>(timer::Timer::TheTimer()); 39 40 #else /* ENABLE_LOGGER */ 41 42 #define LOG(...) 43 #define LOG_FINE(...) 44 #define LOG_ALL(...) 45 #define LOG_TIME 46 47 #endif /* ENABLE_LOGGER */ 48