Sorry, that's uncharted territory for me... Remko
Sent from my iPhone > On 2015/01/23, at 8:54, "Blaine Bergeson (bbergeson)" <[email protected]> > wrote: > > Well, my previous solution works great for normal applications but it does > not work for NetBeans RCP apps. I placed the package that contains the class > and configuration file in a module and then made the package visible to other > modules. I also modified the code to read the configuration file into a > stream from the module jar file and from what I can tell it is finding it and > reading in but I still get the error message: > ERROR No log4j2 configuration file found. Using default configuration: > logging only errors to the console. > > Any ideas? In the meantime I will keep working at it. > > Thx Blaine > > From: Blaine Bergeson (bbergeson) > Sent: Thursday, January 22, 2015 1:42 PM > To: [email protected] > Subject: RE: Programmatically loading of the configuration file > > I was able to get the following code to work. This code was placed in a > method in a class that was in the same package as the log4j2.xml file. I > call this method in the main entry point of my application before getting any > loggers. I had to do a google search to find out about the Configurator. > Maybe it is in the documentation on the website but I didn't see it mentioned > anywhere. > > InputStream is = MyLogFactory.class.getResourceAsStream("log4j2.xml"); > ConfigurationSource source = new ConfigurationSource(is); > Configurator.initialize(MyLogFactory.class.getClassLoader(), source); > > Thx Blaine > > From: Blaine Bergeson (bbergeson) > Sent: Thursday, January 22, 2015 9:38 AM > To: [email protected]<mailto:[email protected]> > Subject: Programmatically loading of the configuration file > > I can't seem to load a configuration file? The reason I am doing this is > because I have my configuration file in a package that is not on the default > classpath. Adding the package to the classpath is not straight forward. > Also, I don't want to add a system property or environment variable because > we will be reusing this package throughout all of our projects. So the idea > is that this package will just be pulled into a project and it will contain > the configuration file along with a class that will add the correct items to > the context map and will load the configuration file. The developer should > just be able to include the package and they are off and running. > > I am using the following code to load the config file which resides in the > same package as the class that this method is part of, but it is not working. > As I step through the code I can see that inside ConfigurationSource the > stream is loaded correctly with the contents of my file so I know that it > found it but when the getContext line is executed I get an error saying that > it could not locate a configuration file. What am I missing? > > try { > InputStream is = > MyLogFactory.class.getResourceAsStream("log4j2.xml"); > ConfigurationSource source = new ConfigurationSource(is); > Configuration config = > XmlConfigurationFactory.getInstance().getConfiguration(source); > LoggerContext ctx = (LoggerContext) LogManager.getContext(false); > ctx.stop(); > ctx.start(config); > } catch (IOException ex) { > System.out.println(ex.getMessage()); > } > > Thx Blaine --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
