001/**
002 *
003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved.
004 *
005 * This library is free software; you can redistribute it and/or
006 * modify it under the terms of the GNU Lesser General Public
007 * License as published by the Free Software Foundation; either 
008 * version 2.1 of the License, or (at your option) any later version.
009 * 
010 * This library is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
013 * Lesser General Public License for more details.
014 * 
015 * You should have received a copy of the GNU Lesser General Public 
016 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
017 * 
018 **/
019package lucee.commons.io.log.log4j.appender;
020
021import java.io.PrintStream;
022import java.io.PrintWriter;
023
024import org.apache.log4j.Layout;
025import org.apache.log4j.WriterAppender;
026
027public class ConsoleAppender extends WriterAppender implements AppenderState {
028        
029        public ConsoleAppender() {
030        }
031
032        public ConsoleAppender(Layout layout) {
033                setLayout(layout);
034        }
035        
036        public ConsoleAppender(PrintWriter pw,Layout layout) {
037                setWriter(pw);
038                setLayout(layout);
039        }
040
041        public ConsoleAppender(PrintStream ps,Layout layout) {
042                setWriter(new PrintWriter(ps));
043                setLayout(layout);
044        }
045
046
047
048        @Override
049        public boolean isClosed() {
050                return closed;
051        }
052        
053        @Override
054        public synchronized void close() {
055                if(isClosed()) return;
056                this.closed = true;
057                writeFooter();
058                // reset();
059        }
060}