1 /*
2  * Copyright (C) 2014 The Android Open Source Project
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 
17 package com.android.server.am;
18 
19 /**
20  * Common class for the various debug {@link android.util.Log} output configuration in the activity
21  * manager package.
22  */
23 class ActivityManagerDebugConfig {
24 
25     // All output logs in the activity manager package use the {@link #TAG_AM} string for tagging
26     // their log output. This makes it easy to identify the origin of the log message when sifting
27     // through a large amount of log output from multiple sources. However, it also makes trying
28     // to figure-out the origin of a log message while debugging the activity manager a little
29     // painful. By setting this constant to true, log messages from the activity manager package
30     // will be tagged with their class names instead fot the generic tag.
31     static final boolean TAG_WITH_CLASS_NAME = false;
32 
33     // While debugging it is sometimes useful to have the category name of the log appended to the
34     // base log tag to make sifting through logs with the same base tag easier. By setting this
35     // constant to true, the category name of the log point will be appended to the log tag.
36     static final boolean APPEND_CATEGORY_NAME = false;
37 
38     // Default log tag for the activity manager package.
39     static final String TAG_AM = "ActivityManager";
40 
41     // Enable all debug log categories.
42     static final boolean DEBUG_ALL = false;
43 
44     // Available log categories in the activity manager package.
45     static final boolean DEBUG_ANR = false;
46     static final boolean DEBUG_BACKGROUND_CHECK = DEBUG_ALL || false;
47     static final boolean DEBUG_BACKUP = DEBUG_ALL || false;
48     static final boolean DEBUG_BROADCAST = DEBUG_ALL || false;
49     static final boolean DEBUG_BROADCAST_BACKGROUND = DEBUG_BROADCAST || false;
50     static final boolean DEBUG_BROADCAST_LIGHT = DEBUG_BROADCAST || false;
51     static final boolean DEBUG_BROADCAST_DEFERRAL = DEBUG_BROADCAST || false;
52     static final boolean DEBUG_COMPACTION = DEBUG_ALL || false;
53     static final boolean DEBUG_FREEZER = DEBUG_ALL || true;
54     static final boolean DEBUG_LRU = DEBUG_ALL || false;
55     static final boolean DEBUG_MU = DEBUG_ALL || false;
56     static final boolean DEBUG_NETWORK = DEBUG_ALL || false;
57     static final boolean DEBUG_OOM_ADJ = DEBUG_ALL || false;
58     static final boolean DEBUG_OOM_ADJ_REASON = DEBUG_ALL || false;
59     static final boolean DEBUG_POWER = DEBUG_ALL || false;
60     static final boolean DEBUG_POWER_QUICK = DEBUG_POWER || false;
61     static final boolean DEBUG_PROCESS_OBSERVERS = DEBUG_ALL || false;
62     static final boolean DEBUG_PROCESSES = DEBUG_ALL || false;
63     static final boolean DEBUG_PROVIDER = DEBUG_ALL || false;
64     static final boolean DEBUG_PSS = DEBUG_ALL || false;
65     static final boolean DEBUG_SERVICE = DEBUG_ALL || false;
66     static final boolean DEBUG_FOREGROUND_SERVICE = DEBUG_ALL || false;
67     static final boolean DEBUG_SERVICE_EXECUTING = DEBUG_ALL || false;
68     static final boolean DEBUG_UID_OBSERVERS = DEBUG_ALL || false;
69     static final boolean DEBUG_USAGE_STATS = DEBUG_ALL || false;
70     static final boolean DEBUG_PERMISSIONS_REVIEW = DEBUG_ALL || false;
71     static final boolean DEBUG_WHITELISTS = DEBUG_ALL || false;
72 
73     static final String POSTFIX_BACKUP = (APPEND_CATEGORY_NAME) ? "_Backup" : "";
74     static final String POSTFIX_BROADCAST = (APPEND_CATEGORY_NAME) ? "_Broadcast" : "";
75     static final String POSTFIX_CLEANUP = (APPEND_CATEGORY_NAME) ? "_Cleanup" : "";
76     static final String POSTFIX_LRU = (APPEND_CATEGORY_NAME) ? "_LRU" : "";
77     static final String POSTFIX_MU = "_MU";
78     static final String POSTFIX_NETWORK = "_Network";
79     static final String POSTFIX_OOM_ADJ = (APPEND_CATEGORY_NAME) ? "_OomAdj" : "";
80     static final String POSTFIX_POWER = (APPEND_CATEGORY_NAME) ? "_Power" : "";
81     static final String POSTFIX_PROCESS_OBSERVERS = (APPEND_CATEGORY_NAME)
82             ? "_ProcessObservers" : "";
83     static final String POSTFIX_PROCESSES = (APPEND_CATEGORY_NAME) ? "_Processes" : "";
84     static final String POSTFIX_PROVIDER = (APPEND_CATEGORY_NAME) ? "_Provider" : "";
85     static final String POSTFIX_PSS = (APPEND_CATEGORY_NAME) ? "_Pss" : "";
86     static final String POSTFIX_SERVICE = (APPEND_CATEGORY_NAME) ? "_Service" : "";
87     static final String POSTFIX_SERVICE_EXECUTING =
88             (APPEND_CATEGORY_NAME) ? "_ServiceExecuting" : "";
89     static final String POSTFIX_UID_OBSERVERS = (APPEND_CATEGORY_NAME)
90             ? "_UidObservers" : "";
91 }
92