diff options
Diffstat (limited to 'ui/window/DragAndDropAcrossApps/DropTarget/src/main/java/com/example/android/common/logger/MessageOnlyLogFilter.java')
-rw-r--r-- | ui/window/DragAndDropAcrossApps/DropTarget/src/main/java/com/example/android/common/logger/MessageOnlyLogFilter.java | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/ui/window/DragAndDropAcrossApps/DropTarget/src/main/java/com/example/android/common/logger/MessageOnlyLogFilter.java b/ui/window/DragAndDropAcrossApps/DropTarget/src/main/java/com/example/android/common/logger/MessageOnlyLogFilter.java new file mode 100644 index 00000000..19967dcd --- /dev/null +++ b/ui/window/DragAndDropAcrossApps/DropTarget/src/main/java/com/example/android/common/logger/MessageOnlyLogFilter.java @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.example.android.common.logger; + +/** + * Simple {@link LogNode} filter, removes everything except the message. + * Useful for situations like on-screen log output where you don't want a lot of metadata displayed, + * just easy-to-read message updates as they're happening. + */ +public class MessageOnlyLogFilter implements LogNode { + + LogNode mNext; + + /** + * Takes the "next" LogNode as a parameter, to simplify chaining. + * + * @param next The next LogNode in the pipeline. + */ + public MessageOnlyLogFilter(LogNode next) { + mNext = next; + } + + public MessageOnlyLogFilter() { + } + + @Override + public void println(int priority, String tag, String msg, Throwable tr) { + if (mNext != null) { + getNext().println(Log.NONE, null, msg, null); + } + } + + /** + * Returns the next LogNode in the chain. + */ + public LogNode getNext() { + return mNext; + } + + /** + * Sets the LogNode data will be sent to.. + */ + public void setNext(LogNode node) { + mNext = node; + } + +} |