FYI: The getter in is Git master now.

On Mon, Jun 22, 2015 at 1:50 PM, Gary Gregory <garydgreg...@gmail.com>
wrote:

> I'd like to hear from Ralph and/or Remko on this. I'll add the getter
> anyway. It seems to me that if you pass in the object in a ctor and it is
> set in an ivar, it should be accessible via a getter.
>
> Gary
>
>
> On Mon, Jun 22, 2015 at 1:42 PM, Charles Allen <
> charles.al...@metamarkets.com> wrote:
>
>> That indeed would be one solution for my use case.
>>
>> If there is some other recommended method (like programmatically create
>> the context factory and not let auto-creation do it) that is "more
>> preferred" than simply having a getter on the factory then I would love to
>> know about it.
>>
>> On Mon, Jun 22, 2015 at 1:34 PM Gary Gregory <garydgreg...@gmail.com>
>> wrote:
>>
>>> On Mon, Jun 22, 2015 at 12:44 PM, Charles Allen <
>>> charles.al...@metamarkets.com> wrote:
>>>
>>>> org.apache.logging.log4j.core.impl.Log4jContextFactory#createShutdownCallbackRegistry
>>>> creates the instance of interest, but the resulting instance is not
>>>> get-able without using reflection?
>>>>
>>>
>>>  That's true, createShutdownCallbackRegistry is called from
>>> Log4jContextFactory constructions and not accessible from outside the class.
>>>
>>> You'd like a
>>>
>>> public ShutdownCallbackRegistry getShutdownCallbackRegistry() {
>>> return shutdownCallbackRegistry;
>>> }
>>>
>>>
>>> added to this class?
>>>
>>> Gary
>>>
>>>
>>>> On Mon, Jun 22, 2015 at 12:36 PM Charles Allen <
>>>> charles.al...@metamarkets.com> wrote:
>>>>
>>>>> No, it is still not showing up. For the record, this is using 2.2
>>>>> Which seems odd because if I break on Log4jContextFactory.java:88 then
>>>>> the shutdownCallbackRegistry is the correct custom instance if the
>>>>> properties are set programmatically or at command line, but it simply does
>>>>> not print out the debug message
>>>>>
>>>>>
>>>>> On Mon, Jun 22, 2015 at 12:11 PM Gary Gregory <garydgreg...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> If you do not see the message "Using ShutdownCallbackRegistry
>>>>>> YOUR_CLASS_INSTANCE" then that is not good.
>>>>>>
>>>>>> Can you try setting the system properties from the command line
>>>>>> instead of programmatically? I wonder if Log4j is initialized _before_ 
>>>>>> your
>>>>>> setProperty calls.
>>>>>>
>>>>>> Gary
>>>>>>
>>>>>> On Mon, Jun 22, 2015 at 11:37 AM, Charles Allen <
>>>>>> charles.al...@metamarkets.com> wrote:
>>>>>>
>>>>>>> No, oddly enough.
>>>>>>>
>>>>>>> The following options are being set:
>>>>>>>
>>>>>>> properties.setProperty("log4j.shutdownCallbackRegistry", 
>>>>>>> "io.druid.common.config.Log4jShutdown");
>>>>>>> properties.setProperty("log4j.shutdownHookEnabled", "true");
>>>>>>>
>>>>>>>
>>>>>>> I know it is getting called though and I have the following at the
>>>>>>> start and end of my log when my main program:
>>>>>>>
>>>>>>>
>>>>>>> 2015-06-22 18:32:38,543 INFO Registered Log4j as the
>>>>>>> java.util.logging.LogManager.
>>>>>>> 2015-06-22 18:32:38,698 DEBUG Registering MBean
>>>>>>> org.apache.logging.log4j2:type=1793467229
>>>>>>> 2015-06-22 18:32:38,705 DEBUG Registering MBean
>>>>>>> org.apache.logging.log4j2:type=1793467229,component=StatusLogger
>>>>>>> 2015-06-22 18:32:38,707 DEBUG Registering MBean
>>>>>>> org.apache.logging.log4j2:type=1793467229,component=ContextSelector
>>>>>>> 2015-06-22 18:32:38,710 DEBUG Registering MBean
>>>>>>> org.apache.logging.log4j2:type=1793467229,component=Loggers,name=
>>>>>>> 2015-06-22 18:32:38,713 DEBUG Registering MBean
>>>>>>> org.apache.logging.log4j2:type=1793467229,component=Appenders,name=Console
>>>>>>> 2015-06-22 18:32:38,714 DEBUG Reconfiguration complete for
>>>>>>> context[name=1793467229] at null
>>>>>>> (org.apache.logging.log4j.core.LoggerContext@6bfecf32) with
>>>>>>> optional ClassLoader: null
>>>>>>> 2015-06-22 18:32:38,714 DEBUG Shutdown hook enabled. Registering a
>>>>>>> new one.
>>>>>>> 2015-06-22 18:32:38,716 DEBUG LoggerContext[name=1793467229,
>>>>>>> org.apache.logging.log4j.core.LoggerContext@6bfecf32] started OK.
>>>>>>> 2015-06-22 18:32:40,327 DEBUG Using default SystemClock for
>>>>>>> timestamps
>>>>>>>
>>>>>>> ......
>>>>>>>
>>>>>>> 2015-06-22T18:33:28,999 INFO [Thread-52]
>>>>>>> io.druid.initialization.Log4jShutterDownerModule - Shutting down log4j
>>>>>>> callbacks
>>>>>>> 2015-06-22 18:33:29,000 DEBUG Stopping
>>>>>>> LoggerContext[name=1793467229,
>>>>>>> org.apache.logging.log4j.core.LoggerContext@6bfecf32]
>>>>>>> 2015-06-22 18:33:29,000 DEBUG Stopping
>>>>>>> LoggerContext[name=1793467229,
>>>>>>> org.apache.logging.log4j.core.LoggerContext@6bfecf32]...
>>>>>>> 2015-06-22 18:33:29,000 DEBUG Unregistering MBean
>>>>>>> org.apache.logging.log4j2:type=1793467229
>>>>>>> 2015-06-22 18:33:29,001 DEBUG Unregistering MBean
>>>>>>> org.apache.logging.log4j2:type=1793467229,component=StatusLogger
>>>>>>> 2015-06-22 18:33:29,001 DEBUG Unregistering MBean
>>>>>>> org.apache.logging.log4j2:type=1793467229,component=ContextSelector
>>>>>>> 2015-06-22 18:33:29,001 DEBUG Unregistering MBean
>>>>>>> org.apache.logging.log4j2:type=1793467229,component=Loggers,name=
>>>>>>> 2015-06-22 18:33:29,002 DEBUG Unregistering MBean
>>>>>>> org.apache.logging.log4j2:type=1793467229,component=Appenders,name=Console
>>>>>>> 2015-06-22 18:33:29,003 DEBUG Stopped
>>>>>>> XmlConfiguration[location=/Users/charlesallen/src/druid/common/target/classes/log4j2.xml]
>>>>>>> OK
>>>>>>> 2015-06-22 18:33:29,004 DEBUG Stopped LoggerContext[name=1793467229,
>>>>>>> org.apache.logging.log4j.core.LoggerContext@6bfecf32]...
>>>>>>> 2015-06-22 18:33:29,004 DEBUG Stopping LoggerContext[name=Default,
>>>>>>> org.apache.logging.log4j.core.LoggerContext@dbef480]
>>>>>>> 2015-06-22 18:33:29,004 DEBUG Stopping LoggerContext[name=Default,
>>>>>>> org.apache.logging.log4j.core.LoggerContext@dbef480]...
>>>>>>> 2015-06-22 18:33:29,005 DEBUG Stopped
>>>>>>> XmlConfiguration[location=/Users/charlesallen/src/druid/common/target/classes/log4j2.xml]
>>>>>>> OK
>>>>>>> 2015-06-22 18:33:29,005 DEBUG Stopped LoggerContext[name=Default,
>>>>>>> org.apache.logging.log4j.core.LoggerContext@dbef480]...
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Sat, Jun 20, 2015 at 9:04 AM Gary Gregory <garydgreg...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> If you turn on the Log4j status logger (<Configuration status=
>>>>>>>> "DEBUG">), do you see the debug log message
>>>>>>>> from 
>>>>>>>> org.apache.logging.log4j.core.impl.Log4jContextFactory.Log4jContextFactory(ContextSelector,
>>>>>>>> ShutdownCallbackRegistry):
>>>>>>>>
>>>>>>>> Using ShutdownCallbackRegistry YOUR_CLASS_INSTANCE
>>>>>>>>
>>>>>>>> Or do you see an exception logged
>>>>>>>> from 
>>>>>>>> org.apache.logging.log4j.core.impl.Log4jContextFactory.createShutdownCallbackRegistry()?
>>>>>>>>
>>>>>>>> Gary
>>>>>>>>
>>>>>>>> On Wed, Jun 17, 2015 at 9:13 AM, Charles Allen <
>>>>>>>> charles.al...@metamarkets.com> wrote:
>>>>>>>>
>>>>>>>>> I'm currently writing a lifecycle bridge between Druid.io's
>>>>>>>>> logging and log4j2's logging to make sure logs during normal shutdown 
>>>>>>>>> hooks
>>>>>>>>> are persisted correctly. I cannot rely on JVM shutdown hook firing 
>>>>>>>>> order
>>>>>>>>> but have a "functional" ShutdownCallbackRegistry.
>>>>>>>>>
>>>>>>>>> Is there a preferred way to get the instanced
>>>>>>>>> ShutdownCallbackRegistry at org.apache.logging.log4j.core.
>>>>>>>>> impl.Log4jContextFactory#shutdownCallbackRegistry ?
>>>>>>>>>
>>>>>>>>> I have set a class via the log4j.shutdownCallbackRegistry
>>>>>>>>> property, but cannot seem to actually get the instance used. This 
>>>>>>>>> leaves me
>>>>>>>>> to either use reflection
>>>>>>>>> https://github.com/druid-io/druid/pull/1387  or static methods
>>>>>>>>> https://github.com/DjDCH/Log4j-StaticShutdown
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>>>>>>>> Java Persistence with Hibernate, Second Edition
>>>>>>>> <http://www.manning.com/bauer3/>
>>>>>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>>>>>>> Spring Batch in Action <http://www.manning.com/templier/>
>>>>>>>> Blog: http://garygregory.wordpress.com
>>>>>>>> Home: http://garygregory.com/
>>>>>>>> Tweet! http://twitter.com/GaryGregory
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>>>>>> Java Persistence with Hibernate, Second Edition
>>>>>> <http://www.manning.com/bauer3/>
>>>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>>>>> Spring Batch in Action <http://www.manning.com/templier/>
>>>>>> Blog: http://garygregory.wordpress.com
>>>>>> Home: http://garygregory.com/
>>>>>> Tweet! http://twitter.com/GaryGregory
>>>>>>
>>>>>
>>>
>>>
>>> --
>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>>> Java Persistence with Hibernate, Second Edition
>>> <http://www.manning.com/bauer3/>
>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>> Spring Batch in Action <http://www.manning.com/templier/>
>>> Blog: http://garygregory.wordpress.com
>>> Home: http://garygregory.com/
>>> Tweet! http://twitter.com/GaryGregory
>>>
>>
>
>
> --
> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> Java Persistence with Hibernate, Second Edition
> <http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>



-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition
<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to