001    package org.shiftone.jrat.util.log.target;
002    
003    
004    import org.shiftone.jrat.util.log.Logger;
005    
006    
007    /**
008     * @author jeff@shiftone.org (Jeff Drost)
009     */
010    public class TandemTarget implements LogTarget {
011    
012        private static final Logger LOG = Logger.getLogger(TandemTarget.class);
013        private LogTarget a;
014        private LogTarget b;
015    
016        public TandemTarget(LogTarget a, LogTarget b) {
017            this.a = a;
018            this.b = b;
019        }
020    
021    
022        public void log(String topic, int level, Object message, Throwable throwable) {
023    
024            try {
025                a.log(topic, level, message, throwable);
026            }
027            catch (Throwable e) {
028            }
029    
030            try {
031                b.log(topic, level, message, throwable);
032            }
033            catch (Throwable e) {
034            }
035        }
036    
037    
038        public boolean isLevelEnabled(String topic, int level) {
039            return a.isLevelEnabled(topic, level);
040        }
041    }