/* * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology. * * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in * compliance with the Licence. You may obtain a copy of the Licence at: * https://joinup.ec.europa.eu/news/understanding-eupl-v12 * * Unless required by applicable law or agreed to in writing, software distributed under the Licence * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the Licence for the specific language governing permissions and limitations under * the Licence. * * This product combines work with different licenses. See the "NOTICE" text file for details on the * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative * works that you distribute must include a readable copy of the "NOTICE" text file. */ package at.gv.egiz.eaaf.core.impl.gui.velocity; import org.apache.velocity.app.Velocity; import org.apache.velocity.runtime.RuntimeConstants; import org.apache.velocity.runtime.RuntimeServices; import org.apache.velocity.runtime.log.LogChute; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class VelocityLogAdapter implements LogChute { private static final Logger log = LoggerFactory.getLogger(VelocityLogAdapter.class); /** * VeloCity Logging adapter. * */ public VelocityLogAdapter() { try { /* * register this class as a logger with the Velocity singleton (NOTE: this would * not work for the non-singleton method.) */ Velocity.setProperty(RuntimeConstants.RUNTIME_LOG_LOGSYSTEM, this); Velocity.init(); } catch (final Exception e) { log.error("Failed to register Velocity logger"); } } @Override public void init(final RuntimeServices arg0) throws Exception { } @Override public boolean isLevelEnabled(final int arg0) { switch (arg0) { case LogChute.DEBUG_ID: return log.isDebugEnabled(); case LogChute.TRACE_ID: return log.isTraceEnabled(); default: return true; } } @Override public void log(final int arg0, final String arg1) { switch (arg0) { case LogChute.DEBUG_ID: log.debug(arg1); break; case LogChute.TRACE_ID: log.trace(arg1); break; case LogChute.INFO_ID: log.info(arg1); break; case LogChute.WARN_ID: log.warn(arg1); break; case LogChute.ERROR_ID: default: log.error(arg1); break; } } @Override public void log(final int arg0, final String arg1, final Throwable arg2) { switch (arg0) { case LogChute.DEBUG_ID: case LogChute.TRACE_ID: case LogChute.INFO_ID: case LogChute.WARN_ID: log.warn(arg1, arg2); break; case LogChute.ERROR_ID: default: log.error(arg1, arg2); break; } } }