001/*
002 * Copyright (c) 2007-2017 Xplenty, Inc. All Rights Reserved.
003 *
004 * Project and contact information: http://www.cascading.org/
005 *
006 * This file is part of the Cascading project.
007 *
008 * Licensed under the Apache License, Version 2.0 (the "License");
009 * you may not use this file except in compliance with the License.
010 * You may obtain a copy of the License at
011 *
012 *     http://www.apache.org/licenses/LICENSE-2.0
013 *
014 * Unless required by applicable law or agreed to in writing, software
015 * distributed under the License is distributed on an "AS IS" BASIS,
016 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
017 * See the License for the specific language governing permissions and
018 * limitations under the License.
019 */
020
021package cascading.util;
022
023/**
024 *
025 */
026public interface ProcessLogger
027  {
028  ProcessLogger NULL = new ProcessLogger()
029    {
030    @Override
031    public boolean isInfoEnabled()
032      {
033      return false;
034      }
035
036    @Override
037    public boolean isDebugEnabled()
038      {
039      return false;
040      }
041
042    @Override
043    public void logInfo( String message, Object... arguments )
044      {
045
046      }
047
048    @Override
049    public void logDebug( String message, Object... arguments )
050      {
051
052      }
053
054    @Override
055    public void logWarn( String message )
056      {
057
058      }
059
060    @Override
061    public void logWarn( String message, Object... arguments )
062      {
063
064      }
065
066    @Override
067    public void logWarn( String message, Throwable throwable )
068      {
069
070      }
071
072    @Override
073    public void logError( String message, Object... arguments )
074      {
075
076      }
077
078    @Override
079    public void logError( String message, Throwable throwable )
080      {
081
082      }
083    };
084
085  boolean isInfoEnabled();
086
087  boolean isDebugEnabled();
088
089  void logInfo( String message, Object... arguments );
090
091  void logDebug( String message, Object... arguments );
092
093  void logWarn( String message );
094
095  void logWarn( String message, Object... arguments );
096
097  void logWarn( String message, Throwable throwable );
098
099  void logError( String message, Object... arguments );
100
101  void logError( String message, Throwable throwable );
102  }