@Override public void visitFieldInsn(int opcode, String owner, String name, String desc) { // App References to Enum org.hibernate.FlushMode.NEVER (0) should be transformed to reference FlushMode.MANUAL (0) instead. if (opcode == Opcodes.GETSTATIC && owner.equals("org/hibernate/FlushMode") && name.equals("NEVER") && desc.equals("Lorg/hibernate/FlushMode;")) { logger.debugf("Deprecated Hibernate51CompatibilityTransformer transformed application classes in '%s', " + "class '%s' is using org.hibernate.FlushMode.NEVER, change to org.hibernate.FlushMode.MANUAL." , moduleName, className); mv.visitFieldInsn(opcode, owner, "MANUAL", desc); transformedState.setClassTransformed(true); } else { mv.visitFieldInsn(opcode, owner, name, desc); } }
private void outputLogger() { if (buffer.length() > 0) { logger.log(level, deploymentName + ": " + buffer.toString()); buffer.setLength(0); } }
@Override public byte[] transform(final ClassLoader loader, final String className, final Class<?> classBeingRedefined, final ProtectionDomain protectionDomain, final byte[] classfileBuffer) { logger.debugf("Hibernate51CompatibilityTransformer transforming deployment class '%s' from '%s'", className, getModuleName(loader)); logger.tracef("Class %s extends or implements %s", className, parentClassesAndInterfaces);
public LoggerTest() { BasicLogger logger = new BasicLogger(); Logger htmlLogger = new HTMLLogger(new BasicLogger()); Logger xmlAndHtmlLogger = new XMLLogger(new HTMLLogger()); logger.log("Basic Logger log"); htmlLogger.log("HTML Logging"); xmlAndHtmlLogger.log("I am Both HTML and XML logging"); }
private void handleCustomLog(HttpServerExchange exchange, Throwable t, Logger.Level level, Logger.Level stackTraceLevel, String category) { BasicLogger logger = UndertowLogger.REQUEST_LOGGER; if (!category.isEmpty()) { logger = Logger.getLogger(category); } boolean stackTrace = true; if (stackTraceLevel.ordinal() > level.ordinal()) { if (!logger.isEnabled(stackTraceLevel)) { stackTrace = false; } } if (stackTrace) { logger.logf(level, t, "Exception handling request to %s", exchange.getRequestURI()); } else { logger.logf(level, "Exception handling request to %s: %s", exchange.getRequestURI(), t.getMessage()); } }
private void collectClassesAndInterfaces(Set<String> classesAndInterfaces, ClassLoader classLoader, String className) { if (className == null || "java/lang/Object".equals(className)) { return; } try (InputStream is = classLoader.getResourceAsStream(className.replace('.', '/') + ".class")) { ClassReader classReader = new ClassReader(is); classReader.accept(new ClassVisitor(useASMExperimental ? Opcodes.ASM7_EXPERIMENTAL : Opcodes.ASM6) { @Override public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) { if (interfaces != null) { for (String interfaceName : interfaces) { classesAndInterfaces.add(interfaceName); collectClassesAndInterfaces(classesAndInterfaces, classLoader, interfaceName); } } classesAndInterfaces.add(superName); collectClassesAndInterfaces(classesAndInterfaces, classLoader, superName); } @Override public void visitInnerClass(String name, String outerName, String innerName, int access) { if (innerName != null) { classesAndInterfaces.add(innerName); } } }, 0); } catch (IOException e) { logger.warn("Unable to open class file %1$s", className, e); } }
final String descOrig = desc; logger.tracef("method %s, description %s, signature %s", name, desc, signature); if (parentClassesAndInterfaces.contains("org/hibernate/usertype/UserType")) { if (name.equals("nullSafeGet") &&
@Override public void printlnErr(final String msg) { logger.error("\n" + msg); }
@Override public void println(String msg) { logger.info(msg); }
logger.debugf("Deprecated Hibernate51CompatibilityTransformer transformed application classes in '%s', " + "class '%s' is calling method %s.%s, which must be changed to use SharedSessionContractImplementor as parameter.", moduleName, className, owner, name); (owner.equals("org/hibernate/Session") || owner.equals("org/hibernate/BasicQueryContract")) && name.equals("getFlushMode") && desc.equals("()Lorg/hibernate/FlushMode;")) { logger.debugf("Deprecated Hibernate51CompatibilityTransformer transformed application classes in '%s', " + "class '%s' is calling %s.getFlushMode, which must be changed to call getHibernateFlushMode().", moduleName, className, owner); name.equals("getFirstResult") && desc.equals("()Ljava/lang/Integer;")) { logger.debugf("Deprecated Hibernate51CompatibilityTransformer transformed application classes in '%s', " + "class '%s', is calling org.hibernate.Query.getFirstResult, which must be changed to call getHibernateFirstResult() " + "so null can be returned when the value is uninitialized. Please note that if a negative value was set using " + name.equals("getMaxResults") && desc.equals("()Ljava/lang/Integer;")) { logger.debugf("Deprecated Hibernate51CompatibilityTransformer transformed application classes in '%s', " + "class '%s', is calling org.hibernate.Query.getMaxResults, which must be changed to call getHibernateMaxResults() " + "so that null will be returned when the value is uninitialized or ORM 5.1 org.hibernate.Query#setMaxResults was " + name.equals("setFirstResult") && desc.equals("(I)Lorg/hibernate/Query;")) { logger.debugf("Deprecated Hibernate51CompatibilityTransformer transformed application classes in '%s', " + "class '%s', is calling org.hibernate.Query.setFirstResult, which must be changed to call setHibernateFirstResult() " + "so setting a value < 0 results in pagination starting with the 0th row as was done in Hibernate ORM 5.1 " + name.equals("setMaxResults") &&
private void outputLogger() { if (buffer.length() > 0) { logger.log(level, deploymentName + ": " + buffer.toString()); buffer.setLength(0); } }
expectHeader(input, protocol.paramNumFiles()); int numFiles = input.readInt(); log.debugf("Received %d files for %s", numFiles, localPath); switch (numFiles) { case -1: { // Not found on DC expectHeader(input, protocol.paramFileSize()); final long length = input.readLong(); log.debugf("Received file [%s] of length %d", path, length); final File file = new File(localPath, path); if (!file.getParentFile().exists() && !file.getParentFile().mkdirs()) {
expectHeader(input, protocol.paramNumFiles()); int numFiles = input.readInt(); log.debugf("Received %d files for %s", numFiles, localPath); switch (numFiles) { case -1: { // Not found on DC expectHeader(input, protocol.paramFileSize()); final long length = input.readLong(); log.debugf("Received file [%s] of length %d", path, length); final File file = new File(localPath, path); if (!file.getParentFile().exists() && !file.getParentFile().mkdirs()) {