| /* |
| * Copyright 2017, OpenCensus Authors |
| * |
| * 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 io.opencensus.contrib.agent; |
| |
| import java.util.logging.Level; |
| import java.util.logging.Logger; |
| import net.bytebuddy.agent.builder.AgentBuilder; |
| import net.bytebuddy.description.type.TypeDescription; |
| import net.bytebuddy.dynamic.DynamicType; |
| import net.bytebuddy.utility.JavaModule; |
| |
| /** |
| * An {@link AgentBuilder.Listener} which uses {@link java.util.logging} for logging events of |
| * interest. |
| */ |
| final class AgentBuilderListener implements AgentBuilder.Listener { |
| |
| private static final Logger logger = Logger.getLogger(AgentBuilderListener.class.getName()); |
| |
| @Override |
| public void onTransformation( |
| TypeDescription typeDescription, |
| ClassLoader classLoader, |
| JavaModule module, |
| boolean loaded, |
| DynamicType dynamicType) { |
| logger.log(Level.FINE, "{0}", typeDescription); |
| } |
| |
| @Override |
| public void onIgnored( |
| TypeDescription typeDescription, |
| ClassLoader classLoader, |
| JavaModule module, |
| boolean loaded) {} |
| |
| @Override |
| public void onError( |
| String typeName, |
| ClassLoader classLoader, |
| JavaModule module, |
| boolean loaded, |
| Throwable throwable) { |
| logger.log(Level.WARNING, "Failed to handle " + typeName, throwable); |
| } |
| |
| @Override |
| public void onComplete( |
| String typeName, ClassLoader classLoader, JavaModule module, boolean loaded) {} |
| |
| @Override |
| public void onDiscovery( |
| String typeName, ClassLoader classLoader, JavaModule module, boolean loaded) {} |
| } |