1 /* 2 * Copyright (C) 2007-2012 Argeo GmbH 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package org.argeo.api; 17 18 /** 19 * Logging framework agnostic identifying a logging service, to which one can 20 * register 21 */ 22 public interface ArgeoLogger { 23 /** 24 * Register for events by threads with the same authentication (or all 25 * threads if admin) 26 */ 27 public void register(ArgeoLogListener listener, 28 Integer numberOfPreviousEvents); 29 30 /** 31 * For admin use only: register for all users 32 * 33 * @param listener 34 * the log listener 35 * @param numberOfPreviousEvents 36 * the number of previous events to notify 37 * @param everything 38 * if true even anonymous is logged 39 */ 40 public void registerForAll(ArgeoLogListener listener, 41 Integer numberOfPreviousEvents, boolean everything); 42 43 public void unregister(ArgeoLogListener listener); 44 45 public void unregisterForAll(ArgeoLogListener listener); 46 }