1 package com.protomatter.syslog; 2 3 52 53 import java.io.*; 54 import java.util.*; 55 import java.text.*; 56 57 import javax.naming.*; 58 import weblogic.common.*; 59 import com.protomatter.syslog.xml.*; 60 61 72 public class SyslogT3Startup 73 implements T3StartupDef, T3ShutdownDef 74 { 75 private T3ServicesDef services = null; 76 private static boolean configured = false; 77 78 private static String LOG_PREFIX = "Protomatter Syslog: "; 79 80 83 public SyslogT3Startup() 84 { 85 super(); 86 } 87 88 93 public void setServices(T3ServicesDef services) 94 { 95 this.services = services; 96 } 97 98 107 public String startup(String name, Hashtable ht) 108 throws Exception 109 { 110 LogServicesDef log = services.log(); 112 try 113 { 114 log.info(LOG_PREFIX + "SyslogT3Startup " + Syslog.getResourceString(MessageConstants.T3_INIT_MESSAGE)); 115 116 if (configured) 118 return Syslog.getResourceString(MessageConstants.T3_ALREADY_INIT_MESSAGE); 119 120 String xmlConfigFile = System.getProperty("Syslog.config.xml"); 123 if (xmlConfigFile == null) 124 { 125 log.error(LOG_PREFIX + MessageFormat.format( 126 Syslog.getResourceString(MessageConstants.T3_MUST_SPECIFY_1_MESSAGE), 127 new Object [] { "Syslog.config.xml" })); 128 log.error(LOG_PREFIX + Syslog.getResourceString(MessageConstants.T3_MUST_SPECIFY_2_MESSAGE)); 129 log.error(LOG_PREFIX + " -DSyslog.config.xml=" + 130 Syslog.getResourceString(MessageConstants.T3_MUST_SPECIFY_BLAH_MESSAGE)); 131 return Syslog.getResourceString(MessageConstants.T3_FAILURE_MESSAGE); 132 } 133 log.info(LOG_PREFIX + MessageFormat.format( 134 Syslog.getResourceString(MessageConstants.CONFIGURING_SYSLOG_FROM_MESSAGE), 135 new Object [] { xmlConfigFile })); 136 SyslogXML.configure(new File(xmlConfigFile)); 137 this.configured = true; 138 139 Iterator loggers = Syslog.getLoggers(); 140 while (loggers.hasNext()) 141 { 142 Syslogger logger = (Syslogger)loggers.next(); 143 if (logger.getName() != null) 144 { 145 log.info(LOG_PREFIX + MessageFormat.format( 146 Syslog.getResourceString(MessageConstants.T3_LOGGER_ISA_MESSAGE), 147 new Object [] { logger.getName(), logger.getClass().getName() })); 148 } 149 else 150 { 151 log.info(LOG_PREFIX + MessageFormat.format( 152 Syslog.getResourceString(MessageConstants.T3_LOGGER_NONAME_ISA_MESSAGE), 153 new Object [] { logger.getClass().getName() })); 154 } 155 } 156 } 157 catch (Exception x) 158 { 159 this.configured = false; 160 log.error(LOG_PREFIX + Syslog.getResourceString(MessageConstants.CANNOT_CONFIGURE_MESSAGE), x); 161 return Syslog.getResourceString(MessageConstants.T3_FAILURE_MESSAGE); 162 } 163 164 return Syslog.getResourceString(MessageConstants.T3_SUCCESS_MESSAGE); 165 } 166 167 171 public String shutdown(String name, Hashtable ht) 172 { 173 Syslog.shutdown(); 174 return Syslog.getResourceString(MessageConstants.T3_SUCCESS_MESSAGE); 175 } 176 177 191 public boolean startup(T3ServicesDef services) 192 { 193 try 194 { 195 setServices(services); 196 startup(null, null); 197 return true; 198 } 199 catch (Exception x) 200 { 201 return false; 202 } 203 } 204 } 205 | Popular Tags |