import com.sap.gateway.ip.core.customdev.util.Message;import java.util.HashMap;import java.text.SimpleDateFormat;import java.util.Date;
def Message log01(Message message) {processData("log01", message);}def Message log02(Message message) {processData("log02", message);}def Message log03(Message message) {processData("log03", message);}
def Message processData(String prefix, Message message) { def headers = message.getHeaders(); def body = message.getBody(java.lang.String) as String; def messageLog = messageLogFactory.getMessageLog(message); for (header in headers) { messageLog.setStringProperty("header." + header.getKey().toString(), header.getValue().toString()) } for (property in properties) { messageLog.setStringProperty("property." + property.getKey().toString(), property.getValue().toString()) } if(messageLog != null){ messageLog.addAttachmentAsString(prefix, body, "text/plain"); } return message;}
import com.sap.gateway.ip.core.customdev.util.Message;import java.util.HashMap;
Message processData(Message message) { String className = 'com.sap.gateway.ip.core.customdev.util.Message' StringBuilder builder = new StringBuilder() Class clazz = Class.forName(className) URI classFilePath = clazz.protectionDomain.codeSource.location.toURI() String regex = '\\/\\/(.*?)\\/!\\/' def matcher = (classFilePath =~ regex) String bundleIdVersion = matcher[0].getAt(1) String bundleId = bundleIdVersion.take(bundleIdVersion.indexOf('.')) String bundleVersion = bundleIdVersion.drop(bundleId.length() + 1) String cacheBundleFilePath = "/usr/sap/ljs/data/cache/bundle${bundleId}/version${bundleVersion.replace(':', '.')}/bundle.jar" File classFile = new File(cacheBundleFilePath) byte[] classFileContent = classFile.bytes builder << classFileContent.encodeBase64().toString() def messageLog = messageLogFactory.getMessageLog(message) messageLog.addAttachmentAsString('JAR file content: Base64 encoding', builder.toString(), 'text/plain')
return message}