Guys,

        I don't understand your answers. It sounds to me like you're talking 
about field injection, not constructor injection.

        I don't want to inject a log into an already-constructed object. I want 
to inject a log directly into the class constructor:

class Foo
{
   private final Logger log;

   @Inject
   public Foo(Logger log)
   {
     this.log = log;
   }
}

        Also, I am not necessarily doing this for jdk loggers so please provide 
more detail on how to write a custom injection listener to do this.

Thanks,
Gili

Adrian Cole wrote:
> If just injecting a log class, you're right: that's trivial.   The
> less trivial part is setting the log scope relevant to the object
> being constructed.
> 
> -Adrian
> 
> On Fri, Jul 24, 2009 at 10:51 AM, Dhanji R. Prasanna<[email protected]> wrote:
>> You can also write a trivial injection listener that looks for whatever
>> logging class you like and set it after construction.
>> Dhanji.
>>
>> On Fri, Jul 24, 2009 at 5:49 PM, Adrian Cole <[email protected]> wrote:
>>> In jclouds, we use a similar approach, but don't bind ourselves to
>>> java or log4j:
>>>     http://code.google.com/p/jclouds/wiki/LogDesign
>>>
>>> Here's the configuration class that may help you do what you are looking
>>> for:
>>>
>>> http://code.google.com/p/jclouds/source/browse/trunk/core/src/main/java/org/jclouds/logging/config/BindLoggersAnnotatedWithResource.java
>>>
>>> I hope this helps,
>>> -Adrian
>>> jclouds
>>>
>>> On Fri, Jul 24, 2009 at 6:15 AM, Dhanji R. Prasanna<[email protected]>
>>> wrote:
>>>> You can already do this with jdk loggers.
>>>> Dhanji.
>>>>
>>>> On Fri, Jul 24, 2009 at 2:12 PM, Gili <[email protected]> wrote:
>>>>> Hi,
>>>>>
>>>>> Is it possible to implement Log4JMembersInjector -- as found here:
>>>>> http://code.google.com/p/google-guice/wiki/CustomInjections -- but for
>>>>> constructor injection instead? That is, I'd like Guice to be smart
>>>>> enough to inject the correct Logger instance into the constructor
>>>>> automatically. I took a look at InjectionListener but it seems to hook
>>>>> instances that have already been injected. Another approach that comes
>>>>> to mind is:
>>>>>
>>>>> @Provides
>>>>> public Logger getLogger(Class<?> outerClass);
>>>>>
>>>>> If I could somehow get Guice to pass in the correct Class... Any
>>>>> ideas?
>>>>>
>>>>> Gili
>>>>>
>>>>
>>>
>>
> 
> > 
> 


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-guice?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to