Java 类ch.qos.logback.core.joran.spi.JoranException 实例源码
项目:syslogappender
文件:SyslogAppenderTest.java
@Test
public void testUdpSender() throws JoranException, InterruptedException {
LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(context);
context.reset();
configurator.doConfigure(this.getClass().getClassLoader().getResourceAsStream("logback-syslog-udp.xml"));
Logger logger = context.getLogger("test-udp");
logger.info("test message over udp");
context.stop();
Thread.sleep(100);
final String serverData = serverStream.toString();
assertTrue("Server received: " + serverData, serverData.contains("test message over udp"));
}
项目:CampusHelp
文件:LogBackConfigLoader.java
public static void load(String externalConfigFileLocation) throws IOException, JoranException {
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
File externalConfigFile = new File(externalConfigFileLocation);
if (!externalConfigFile.exists()) {
throw new IOException("Logback External Config File Parameter does not reference a file that exists");
} else {
if (!externalConfigFile.isFile()) {
throw new IOException("Logback External Config File Parameter exists, but does not reference a file");
} else {
if (!externalConfigFile.canRead()) {
throw new IOException("Logback External Config File exists and is a file, but cannot be read.");
} else {
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(lc);
lc.reset();
configurator.doConfigure(externalConfigFileLocation);
StatusPrinter.printInCaseOfErrorsOrWarnings(lc);
}
}
}
}
项目:Juice
文件:LogInitUtil.java
public static void initLog() {
LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
JoranConfigurator jc = new JoranConfigurator();
jc.setContext(context);
context.reset();
String env = System.getProperty("system.environment");
if(StringUtils.isBlank(env)) {
System.err.println("get system.environment error");
throw new RuntimeException("can't get env, service stop!");
}
URL tmpConfigFIleStr = Startup.class.getResource("/logback-" + env + ".xml");
try {
System.out.println("start with configFile : " + tmpConfigFIleStr);
jc.doConfigure(tmpConfigFIleStr);
log.info("load logback config --> " + tmpConfigFIleStr.getFile());
} catch (JoranException e) {
System.err.println(tmpConfigFIleStr + " not exist");
throw new RuntimeException(e);
}
}
项目:syslogappender
文件:SyslogAppenderTest.java
@Test
public void testTcpSender() throws JoranException, InterruptedException {
LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(context);
context.reset();
configurator.doConfigure(this.getClass().getClassLoader().getResourceAsStream("logback-syslog-tcp.xml"));
Logger logger = context.getLogger("test-tcp");
logger.info("test message over tcp");
context.stop();
Thread.sleep(100);
final String serverData = serverStream.toString();
assertTrue("Server received: " + serverData, serverData.contains("test message over tcp"));
}
项目:syslogappender
文件:SyslogAppenderTest.java
@Test
public void testTlsSender() throws JoranException, InterruptedException {
LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(context);
context.reset();
configurator.doConfigure(this.getClass().getClassLoader().getResourceAsStream("logback-syslog-tls.xml"));
Logger logger = context.getLogger("test-tls");
logger.info("test message over tls");
context.stop();
Thread.sleep(100);
final String serverData = serverStream.toString();
assertTrue("Server received: " + serverData, serverData.contains("test message over tls"));
}
项目:tasfe-framework
文件:InitLogback.java
@PostConstruct
public void initializeLogback() {
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
InputStream is = InitLogback.class.getClassLoader().getResourceAsStream("tasfe-logback.xml");
if (is == null)
return;
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(lc);
lc.reset();
try {
configurator.doConfigure(is);
} catch (JoranException e) {
e.printStackTrace();
}
}
项目:java-logging
文件:AbstractLoggingTestSuite.java
protected void captureOutput() throws IOException, JoranException {
System.setProperty("ROOT_APPENDER", "JSON_CONSOLE");
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
loggerContext.reset();
JoranConfigurator configurator = new JoranConfigurator();
InputStream configStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("logback.xml");
configurator.setContext(loggerContext);
configurator.doConfigure(configStream);
configStream.close();
baos = new ByteArrayOutputStream();
PrintStream ps = new PrintStream(baos);
System.setOut(ps);
}
项目:java-logging
文件:ReformLoggingLayoutTest.java
@Test
public void testDefaultOutputWithBadException() throws JoranException, IOException {
configLogback(LOGBACK_WITH_THREAD);
String message = "test output with bad exception";
log.error(message, new InvalidClassException("Class null is invalid"));
String logger = AbstractLoggingException.class.getCanonicalName();
String errorClass = InvalidClassException.class.getCanonicalName();
String message2 = String.format("Bad implementation of '%s' in use", errorClass);
String output = baos.toString();
// there must be original log
assertThat(output).containsPattern(
DEFAULT_DATE_FORMAT + ERROR + getThreadName() + getLogger() + message + "\n"
);
// alongside log about alert level misuse
assertThat(output).containsPattern(
DEFAULT_DATE_FORMAT + ERROR + getThreadName() + logger + ":\\d+: \\[P1\\] 0. " + message2 + "\n"
);
}
项目:java-logging
文件:ReformLoggingLayoutTest.java
@Test
public void testOutputForOptionalErrorValues() throws JoranException, IOException {
configLogback(LOGBACK_WITH_CUSTOM_DATE_FORMAT);
String message = "test alert level and error code for regular log level";
log.info(message);
log.info(message, new DummyP3Exception());
String timestamp = "\\d{2}-\\d{2}-\\d{4}";
String logger = this.getClass().getCanonicalName();
String output = baos.toString();
assertThat(output).containsPattern(
timestamp + INFO + logger + ":\\d+: " + message + "\n"
);
assertThat(output).containsPattern(
timestamp + INFO + logger + ":\\d+: \\[P3\\] 0. " + message + "\n"
);
}
项目:java-logging
文件:ReformLoggingLayoutTest.java
@Test
public void testStacktraceExistsAfterTheLogEntry() throws JoranException, IOException {
configLogback(LOGBACK);
String message = "test stacktrace";
log.error(message, new DummyP2Exception());
String logger = this.getClass().getCanonicalName();
assertThat(baos.toString()).containsPattern(
DEFAULT_DATE_FORMAT + ERROR + getThreadName() + logger + ":\\d+: \\[P2\\] 0. " + message + "\n"
+ "\tat " + logger + ".testStacktraceExists(.*" + this.getClass().getSimpleName() + ".java:\\d+.*)\n"
);
log.error(message, new DummyP2Exception(new ArithmeticException("There is no such operation ':'")));
assertThat(baos.toString()).containsPattern(
"Caused by: " + ArithmeticException.class.getCanonicalName() + ": There is no such operation ':'\n"
);
}
项目:Hydrograph
文件:LogFactory.java
private void writeLogsOnFileAndConsole() {
loggers.debug("****Configuring Logger****");
try {
if(Platform.isRunning()){
System.setProperty(HYDROGRAPH_INSTALLATION_LOCATION, Platform.getInstallLocation().getURL().getPath());
ClassLoader loader = new URLClassLoader(new URL[]
{new File(Platform.getInstallLocation().getURL().getPath() + LOG_DIR).toURI().toURL()});
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
URL url = Loader.getResource(CLASSIC_FILE, loader);
if (url != null) {
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(lc);
lc.reset();
configurator.doConfigure(url);
lc.start();
}
loggers.debug("****Logger Configured Successfully****");
}
} catch(MalformedURLException|JoranException exception){
loggers.error("Failed to configure the logger {}", exception);
}
}
项目:graviteeio-access-management
文件:Container.java
private void initializeLogging() {
String graviteeHome = System.getProperty("gravitee.home");
String logbackConfiguration = graviteeHome + File.separator + "config" + File.separator + "logback.xml";
File logbackConfigurationfile = new File(logbackConfiguration);
// If logback configuration available, load it, else, load default logback configuration
if (logbackConfigurationfile.exists()) {
System.setProperty("logback.configurationFile", logbackConfigurationfile.getAbsolutePath());
StaticLoggerBinder loggerBinder = StaticLoggerBinder.getSingleton();
LoggerContext loggerContext = (LoggerContext) loggerBinder.getLoggerFactory();
loggerContext.reset();
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(loggerContext);
try {
configurator.doConfigure(logbackConfigurationfile);
} catch( JoranException e ) {
e.printStackTrace();
}
// Internal status data is printed in case of warnings or errors.
StatusPrinter.printInCaseOfErrorsOrWarnings(loggerContext);
}
}
项目:konker-platform
文件:KonkerStaticLoggerBinder.java
void init() {
try {
try {
(new KonkerContextInitializer(this.defaultLoggerContext)).autoConfig();
} catch (JoranException var2) {
Util.report("Failed to auto configure default logger context", var2);
}
if(!StatusUtil.contextHasStatusListener(this.defaultLoggerContext)) {
StatusPrinter.printInCaseOfErrorsOrWarnings(this.defaultLoggerContext);
}
this.contextSelectorBinder.init(this.defaultLoggerContext, KEY);
this.initialized = true;
} catch (Throwable var3) {
Util.report("Failed to instantiate [" + LoggerContext.class.getName() + "]", var3);
}
}
项目:konker-platform
文件:KonkerContextInitializer.java
public void autoConfig() throws JoranException {
KonkerStatusListenerConfigHelper.installIfAsked(this.loggerContext);
URL url = this.findURLOfDefaultConfigurationFile(true);
if (url != null) {
this.configureByResource(url);
} else {
KonkerLoggerConfigurator c = (KonkerLoggerConfigurator)
EnvUtil.loadFromServiceLoader(KonkerLoggerConfigurator.class);
if (c != null) {
try {
c.setContext(this.loggerContext);
c.configure(this.loggerContext);
} catch (Exception var4) {
throw new LogbackException(String.format("Failed to initialize Configurator: %s using ServiceLoader", new Object[]{c != null ? c.getClass().getCanonicalName() : "null"}), var4);
}
} else {
KonkerLoggerBasicConfigurator.configure(this.loggerContext);
}
}
}
项目:linkbinder
文件:LogbackConfigurationInitializeServletContextListener.java
@Override
public void contextInitialized(ServletContextEvent arg0) {
String dir = getConfigPath();
LOG.debug("リソースパス:{}", dir);
if (StringUtils.isEmpty(dir)) {
LOG.info("リソースパスが定義されていないためデフォルトのログ出力設定を使用します");
return;
}
try {
new LogbackConfigurationLoader().load(
Paths.get(dir, "logback.xml").toFile(),
Paths.get(dir, "logback.groovy").toFile());
} catch (JoranException e) {
LOG.warn("ログ出力設定に失敗しました。デフォルトのログ出力設定を使用します");
}
}
项目:linkbinder
文件:LogbackConfigurationLoader.java
public void load(File... configList) throws JoranException {
LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
for (File config : configList) {
if (config.exists()) {
if (config.isFile()) {
if (config.canRead()) {
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(context);
// 設定をクリアして再読み込み
context.reset();
configurator.doConfigure(config);
LOG.warn("logback設定ファイル再設定が完了しました。{}", config.getAbsolutePath());
break;
} else {
LOG.warn("logback設定ファイルが読み込めません。{}", config.getAbsolutePath());
}
} else {
LOG.warn("logback設定ファイルがディレクトリです。{}", config.getAbsolutePath());
}
} else {
LOG.info("logback設定ファイルが見つかりません。{}", config.getAbsolutePath());
}
}
}
项目:scaffold
文件:LogbackConfigurer.java
/**
* Initialize logback from the given file location, with no config file
* refreshing. Assumes an XML file in case of a ".xml" file extension, and a
* properties file otherwise.
*
* @param location the location of the config file: either a "classpath:"
* location (e.g. "classpath:mylogback.properties"), an absolute
* file URL (e.g.
* "file:C:/logback.properties), or a plain absolute path in the file system (e.g. "
* C:/logback.properties")
* @throws FileNotFoundException if the location specifies an invalid file path
*/
public static void initLogging(String location)
throws FileNotFoundException {
String resolvedLocation = SystemPropertyUtils
.resolvePlaceholders(location);
URL url = ResourceUtils.getURL(resolvedLocation);
if (resolvedLocation.toLowerCase().endsWith(XML_FILE_EXTENSION)) {
// DOMConfigurator.configure(url);
configurator.setContext(lc);
lc.reset();
try {
configurator.doConfigure(url);
} catch (JoranException ex) {
throw new FileNotFoundException(url.getPath());
}
lc.start();
}
// else {
// PropertyConfigurator.configure(url);
// }
}
项目:gossip
文件:GossipLogModule.java
private void initializeLogback() {
Path logbackFilePath = Paths.get(configPath, "logback.xml");
if (logbackFilePath.toFile().exists()) {
try {
// Load logback configuration
LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
context.reset();
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(context);
configurator.doConfigure(logbackFilePath.toFile());
// Install java.util.logging bridge
SLF4JBridgeHandler.removeHandlersForRootLogger();
SLF4JBridgeHandler.install();
} catch (JoranException e) {
throw new GossipInitializeException("Misconfiguration on logback.xml, check it.", e);
}
}
}
项目:acme_client
文件:Application.java
private static void configureLogger(String logDir, String logLevel, String logbackConf) {
LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
try {
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(context);
context.reset();
if (!logDir.endsWith(File.separator))
logDir+= File.separator;
context.putProperty("LOG_DIR", logDir);
context.putProperty("LOG_LEVEL", logLevel);
InputStream is = classloader.getResourceAsStream(logbackConf);
configurator.doConfigure(is);
} catch (JoranException je) {
LOG.warn("Cannot configure logger. Continue to execute the command.", je);
}
StatusPrinter.printInCaseOfErrorsOrWarnings(context);
}
项目:haven-platform
文件:LogbackConfigurationListener.java
@Override
public void onApplicationEvent(ApplicationEvent event) {
final String settings = environment.getProperty("logging.config.src");
if (StringUtils.hasText(settings)) {
try {
final ContextBase context = (ContextBase) StaticLoggerBinder.getSingleton().getLoggerFactory();
final JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(context);
LOG.info("try to update logback configuration to {}", settings);
context.reset();
configurator.doConfigure(new ByteArrayInputStream(settings.getBytes()));
} catch (JoranException e) {
LOG.error("can't load settings", e);
}
}
}
项目:JavaBitcoinTrader
文件:MainTrader.java
/**
* Loads the Logback configuration from a resource file.
* Only here to avoid polluting other examples with logs. Could be
* replaced by a simple logback.xml file in the resource folder.
*/
private static void loadLoggerConfiguration() {
LoggerContext context = (LoggerContext) LoggerFactory
.getILoggerFactory();
context.reset();
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(context);
try {
if (LOGBACK_CONF_FILE != null) {
configurator.doConfigure(LOGBACK_CONF_FILE);
}
} catch (JoranException e) {
Logger.getLogger(MainTrader.class.getName()).log(Level.SEVERE,
"Unable to load Logback configuration", e);
}
}
项目:TranskribusSwtGui
文件:GuiUtil.java
private static void configureLogbackFromLocalFile() {
boolean localLogFileExists = Files.exists(Paths.get("./logback.xml"));
if (!localLogFileExists) {
System.out.println("logback.xml not found in local path - defaulting to packaged one");
return;
}
// assume SLF4J is bound to logback in the current environment
LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
try {
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(context);
// Call context.reset() to clear any previous configuration, e.g. default
// configuration. For multi-step configuration, omit calling context.reset().
context.reset();
configurator.doConfigure("./logback.xml");
} catch (JoranException je) {
// StatusPrinter will handle this
}
StatusPrinter.printInCaseOfErrorsOrWarnings(context);
}
项目:bartleby
文件:DBAppenderIntegrationTest.java
public void doTest(String configFile) throws JoranException {
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(context);
configurator.doConfigure(configFile);
Appender<IAccessEvent> appender = context.getAppender("DB");
for (int i = 0; i < 10; i++) {
IAccessEvent event = DummyAccessEventBuilder.buildNewAccessEvent();
appender.doAppend(event);
}
StatusPrinter.print(context);
// check that there were no errors
assertEquals(Status.INFO, statusChecker.getHighestLevel(0));
}
项目:bartleby
文件:SiftingAppenderTest.java
@Test
public void timeoutPropertyShouldBeHonored() throws JoranException, InterruptedException {
configure(SIFT_FOLDER_PREFIX + "timeout.xml");
long timeout = 30*1000;
SiftingAppender sa = (SiftingAppender) root.getAppender("SIFT");
LoggingEvent event = new LoggingEvent("", logger, Level.DEBUG, "timeout", null, null);
event.setTimeStamp(now);
sa.doAppend(event);
AppenderTracker<ILoggingEvent> tracker = sa.getAppenderTracker();
assertEquals(1, tracker.getComponentCount());
now += timeout+1;
tracker.removeStaleComponents(now);
assertEquals(0, tracker.getComponentCount());
statusChecker.assertIsErrorFree();
}
项目:gravitee-management-rest-api
文件:Container.java
private void initializeLogging() {
String graviteeHome = System.getProperty("gravitee.home");
String logbackConfiguration = graviteeHome + File.separator + "config" + File.separator + "logback.xml";
File logbackConfigurationfile = new File(logbackConfiguration);
// If logback configuration available, load it, else, load default logback configuration
if (logbackConfigurationfile.exists()) {
System.setProperty("logback.configurationFile", logbackConfigurationfile.getAbsolutePath());
StaticLoggerBinder loggerBinder = StaticLoggerBinder.getSingleton();
LoggerContext loggerContext = (LoggerContext) loggerBinder.getLoggerFactory();
loggerContext.reset();
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(loggerContext);
try {
configurator.doConfigure(logbackConfigurationfile);
} catch( JoranException e ) {
e.printStackTrace();
}
// Internal status data is printed in case of warnings or errors.
StatusPrinter.printInCaseOfErrorsOrWarnings(loggerContext);
}
}
项目:gravitee-gateway
文件:Container.java
private void initializeLogging() {
String graviteeHome = System.getProperty("gravitee.home");
String logbackConfiguration = graviteeHome + File.separator + "config" + File.separator + "logback.xml";
File logbackConfigurationfile = new File(logbackConfiguration);
// If logback configuration available, load it, else, load default logback configuration
if (logbackConfigurationfile.exists()) {
System.setProperty("logback.configurationFile", logbackConfigurationfile.getAbsolutePath());
StaticLoggerBinder loggerBinder = StaticLoggerBinder.getSingleton();
LoggerContext loggerContext = (LoggerContext) loggerBinder.getLoggerFactory();
loggerContext.reset();
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(loggerContext);
try {
configurator.doConfigure(logbackConfigurationfile);
} catch( JoranException e ) {
LoggerFactory.getLogger(Container.class).error("An error occurs while initializing logging system", e);
}
// Internal status data is printed in case of warnings or errors.
StatusPrinter.printInCaseOfErrorsOrWarnings(loggerContext);
}
}
项目:bartleby
文件:SiftingAppenderTest.java
@Test
public void sessionFinalizationShouldCauseLingering() throws JoranException {
String mdcKey = "linger";
String mdcVal = "session" + diff;
configure(SIFT_FOLDER_PREFIX + "lingering.xml");
MDC.put(mdcKey, mdcVal);
logger.debug("linger 1");
logger.debug(ClassicConstants.FINALIZE_SESSION_MARKER, "linger 2");
long now = System.currentTimeMillis();
SiftingAppender sa = (SiftingAppender) root.getAppender("SIFT");
AppenderTracker<ILoggingEvent> tracker = sa.getAppenderTracker();
assertEquals(1, tracker.allKeys().size());
Appender<ILoggingEvent> appender = tracker.find(mdcVal);
assertTrue(appender.isStarted());
tracker.removeStaleComponents(now + AppenderTracker.LINGERING_TIMEOUT + 1);
// previously lingering appenders should be closed upon timeout
assertFalse(appender.isStarted());
// and they should be gone
assertEquals(0, tracker.allKeys().size());
}
项目:bartleby
文件:GoMDC.java
public static void main(String[] args) {
Logger logger = LoggerFactory
.getLogger(GoMDC.class);
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
try {
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(lc);
lc.reset();
configurator.doConfigure("mdcFilter.xml");
} catch (JoranException je) {
StatusPrinter.print(lc);
}
logger.debug("I know me " + 0);
MDC.put("key", "val");
logger.debug("I know me " + 1);
StatusPrinter.print(lc);
}
项目:bartleby
文件:JoranConfiguratorTest.java
@Test
public void properties() throws JoranException {
String configFileAsStr = ClassicTestConstants.JORAN_INPUT_PREFIX
+ "properties.xml";
assertNull(loggerContext.getProperty(CoreConstants.HOSTNAME_KEY));
assertNull(System.getProperty("sys"));
configure(configFileAsStr);
assertNotNull(loggerContext.getProperty(CoreConstants.HOSTNAME_KEY));
assertNull(loggerContext.getProperty("transientKey1"));
assertNull(loggerContext.getProperty("transientKey2"));
assertEquals("node0", loggerContext.getProperty("nodeId"));
assertEquals("tem", System.getProperty("sys"));
assertNotNull(loggerContext.getProperty("path"));
checker.assertIsErrorFree();
}
项目:bartleby
文件:TrivialConfiguratorTest.java
@Test
public void lbcore127() throws IOException, JoranException {
String jarEntry = "buzz.xml";
String jarEntry2 = "lightyear.xml";
File jarFile = makeRandomJarFile();
fillInJarFile(jarFile, jarEntry, jarEntry2);
URL url1 = asURL(jarFile, jarEntry);
URL url2 = asURL(jarFile, jarEntry2);
URLConnection urlConnection2 = url2.openConnection();
urlConnection2.setUseCaches(false);
InputStream is = urlConnection2.getInputStream();
TrivialConfigurator tc = new TrivialConfigurator(rulesMap);
tc.setContext(context);
tc.doConfigure(url1);
is.read();
is.close();
// deleting an open file fails
assertTrue(jarFile.delete());
assertFalse(jarFile.exists());
}
项目:logback-access-spring-boot-starter
文件:AbstractTestSpringConfigurationFileInvalidTest.java
/**
* Tests a Logback-access configuration exception in the case where the test spring configuration file is invalid.
*/
@Test
public void logbackAccessConfigurationExceptionWhereTestSpringConfigurationFileIsInvalid() {
Map<String, Object> properties = new HashMap<>();
properties.put("server.port", findAvailableTcpPort());
SpringApplication application = new SpringApplication(contextConfiguration);
application.setDefaultProperties(properties);
Throwable throwable = catchThrowable(application::run);
Optional<LogbackAccessConfigurationException> exc = findLogbackAccessConfigurationException(throwable);
assertThat(exc).hasValueSatisfying(value ->
assertThat(value)
.hasMessageStartingWith("Could not configure Logback-access:")
.hasMessageContaining("config=[classpath:logback-access-test-spring.xml]")
.hasCauseInstanceOf(JoranException.class)
);
}
项目:bartleby
文件:InPlayFireTest.java
@Test
public void testBasic() throws JoranException {
ListenAction listenAction = new ListenAction();
rulesMap.put(new ElementSelector("fire"), listenAction);
TrivialConfigurator gc = new TrivialConfigurator(rulesMap);
gc.setContext(context);
gc.doConfigure(CoreTestConstants.TEST_SRC_PREFIX + "input/joran/fire1.xml");
//for(SaxEvent se: listenAction.getSeList()) {
// System.out.println(se);
//}
assertEquals(5, listenAction.getSeList().size());
assertTrue(listenAction.getSeList().get(0) instanceof StartEvent);
assertTrue(listenAction.getSeList().get(1) instanceof StartEvent);
assertTrue(listenAction.getSeList().get(2) instanceof BodyEvent);
assertTrue(listenAction.getSeList().get(3) instanceof EndEvent);
}
项目:bartleby
文件:InPlayFireTest.java
@Test
public void testReplay() throws JoranException {
ListenAction listenAction = new ListenAction();
rulesMap.put(new ElementSelector("fire"), listenAction);
TrivialConfigurator gc = new TrivialConfigurator(rulesMap);
gc.setContext(context);
gc.doConfigure(CoreTestConstants.TEST_SRC_PREFIX + "input/joran/fire1.xml");
// for(SaxEvent se: listenAction.getSeList()) {
// System.out.println(se);
// }
assertEquals(5, listenAction.getSeList().size());
assertTrue(listenAction.getSeList().get(0) instanceof StartEvent);
assertTrue(listenAction.getSeList().get(1) instanceof StartEvent);
assertTrue(listenAction.getSeList().get(2) instanceof BodyEvent);
assertTrue(listenAction.getSeList().get(3) instanceof EndEvent);
}
项目:bartleby
文件:Calculator2.java
public static void main(String[] args) throws Exception {
Map<ElementSelector, Action> ruleMap = new HashMap<ElementSelector, Action>();
// Note the wild card character '*', in the paterns, signifying any level
// of nesting.
ruleMap.put(new ElementSelector("*/computation"), new ComputationAction2());
ruleMap.put(new ElementSelector("*/computation/literal"), new LiteralAction());
ruleMap.put(new ElementSelector("*/computation/add"), new AddAction());
ruleMap.put(new ElementSelector("*/computation/multiply"), new MultiplyAction());
Context context = new ContextBase();
SimpleConfigurator simpleConfigurator = new SimpleConfigurator(ruleMap);
// link the configurator with its context
simpleConfigurator.setContext(context);
try {
simpleConfigurator.doConfigure(args[0]);
} catch (JoranException e) {
// Print any errors that might have occured.
StatusPrinter.print(context);
}
}
项目:bartleby
文件:StaticLoggerBinder.java
/**
* Package access for testing purposes.
*/
void init() {
try {
try {
new ContextInitializer(defaultLoggerContext).autoConfig();
} catch (JoranException je) {
Util.report("Failed to auto configure default logger context", je);
}
// logback-292
if(!StatusUtil.contextHasStatusListener(defaultLoggerContext)) {
StatusPrinter.printInCaseOfErrorsOrWarnings(defaultLoggerContext);
}
contextSelectorBinder.init(defaultLoggerContext, KEY);
initialized = true;
} catch (Throwable t) {
// we should never get here
Util.report("Failed to instantiate [" + LoggerContext.class.getName()
+ "]", t);
}
}
项目:bartleby
文件:JMXConfigurator.java
public void reloadByFileName(String fileName) throws JoranException,
FileNotFoundException {
File f = new File(fileName);
if (f.exists() && f.isFile()) {
URL url;
try {
url = f.toURI().toURL();
reloadByURL(url);
} catch (MalformedURLException e) {
throw new RuntimeException(
"Unexpected MalformedURLException occured. See nexted cause.", e);
}
} else {
String errMsg = "Could not find [" + fileName + "]";
addInfo(errMsg);
throw new FileNotFoundException(errMsg);
}
}
项目:bartleby
文件:JMXConfigurator.java
public void reloadByURL(URL url) throws JoranException {
StatusListenerAsList statusListenerAsList = new StatusListenerAsList();
addStatusListener(statusListenerAsList);
addInfo("Resetting context: " + loggerContext.getName());
loggerContext.reset();
// after a reset the statusListenerAsList gets removed as a listener
addStatusListener(statusListenerAsList);
try {
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(loggerContext);
configurator.doConfigure(url);
addInfo("Context: " + loggerContext.getName() + " reloaded.");
} finally {
removeStatusListener(statusListenerAsList);
if (debug) {
StatusPrinter.print(statusListenerAsList.getStatusList());
}
}
}
项目:bartleby
文件:ContextInitializer.java
public void configureByResource(URL url) throws JoranException {
if (url == null) {
throw new IllegalArgumentException("URL argument cannot be null");
}
final String urlString = url.toString();
if (urlString.endsWith("groovy")) {
if (EnvUtil.isGroovyAvailable()) {
// avoid directly referring to GafferConfigurator so as to avoid
// loading groovy.lang.GroovyObject . See also http://jira.qos.ch/browse/LBCLASSIC-214
GafferUtil.runGafferConfiguratorOn(loggerContext, this, url);
} else {
StatusManager sm = loggerContext.getStatusManager();
sm.add(new ErrorStatus("Groovy classes are not available on the class path. ABORTING INITIALIZATION.",
loggerContext));
}
} else if (urlString.endsWith("xml")) {
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(loggerContext);
configurator.doConfigure(url);
} else {
throw new LogbackException("Unexpected filename extension of file [" + url.toString() + "]. Should be either .groovy or .xml");
}
}
项目:bartleby
文件:ContextInitializer.java
public void autoConfig() throws JoranException {
StatusListenerConfigHelper.installIfAsked(loggerContext);
URL url = findURLOfDefaultConfigurationFile(true);
if (url != null) {
configureByResource(url);
} else {
Configurator c = EnvUtil.loadFromServiceLoader(Configurator.class);
if (c != null) {
try {
c.setContext(loggerContext);
c.configure(loggerContext);
} catch (Exception e) {
throw new LogbackException(String.format("Failed to initialize Configurator: %s using ServiceLoader",
c != null ? c.getClass().getCanonicalName() : "null"), e);
}
} else {
BasicConfigurator.configure(loggerContext);
}
}
}
项目:bartleby
文件:SiftingAppenderTest.java
@Test
public void maxAppendersCountPropertyShouldBeHonored() throws JoranException {
configure(SIFT_FOLDER_PREFIX + "maxAppenderCount.xml");
int max = 5;
SiftingAppender sa = (SiftingAppender) root.getAppender("SIFT");
String mdcKey = "max";
for(int i = 0; i <= max; i++) {
MDC.put(mdcKey, "" + (diff + i));
LoggingEvent event = new LoggingEvent("", logger, Level.DEBUG, "max"+i, null, null);
event.setTimeStamp(now);
sa.doAppend(event);
now += AbstractComponentTracker.WAIT_BETWEEN_SUCCESSIVE_REMOVAL_ITERATIONS;
}
AppenderTracker<ILoggingEvent> tracker = sa.getAppenderTracker();
assertEquals(max, tracker.allKeys().size());
assertNull(tracker.find("" + (diff + 0)));
for(int i = 1; i <= max; i++) {
assertNotNull(tracker.find("" + (diff + i)));
}
}