10 Replies Latest reply on Sep 17, 2011 4:34 PM by jraduget

    Weld SE and slf4j

    pieter.martin

      Hi,


      I am trying to use log4j in my weld SE application.


      However slf4j-simple is included in the weld-se distribution via the maven-shade-plugin.


      This means that when I include slf4j-log4j12 in my app it gets ignored.


      When I exclude slf4j-simple in the pom for the maven-shade-plugin all is ok again.


      weld-se/pom.xml ...


               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-shade-plugin</artifactId>
                  <executions>
                     <execution>
                        <phase>package</phase>
                        <goals>
                           <goal>shade</goal>
                        </goals>
                        <configuration>
                        </configuration>
                     </execution>
                  </executions>
               <configuration>
                    <artifactSet>
                      <excludes>
                        <exclude>org.slf4j:slf4j-simple</exclude>
                      </excludes>
                    </artifactSet>
                  </configuration>
               </plugin>





      Is this a bug of sorts or do I need to configure the logging in some other way?


      Thanks
      Pieter

        • 1. Re: Weld SE and slf4j
          koichik0818

          Hi,


          Because WELDX-51 was re-opened, it may be fixed.

          • 2. Re: Weld SE and slf4j
            peteroyle.howardmoon.hitcity.com.au

            Now it's fixed :)

            • 3. Re: Weld SE and slf4j
              koichik0818

              Thanks!

              • 4. Re: Weld SE and slf4j
                christian.bauer

                This is not fixed in 1.1.1-Final. Weld SE is unusable in its current packaging, I don't want your slfuckjava-simple.

                • 5. Re: Weld SE and slf4j
                  christian.bauer

                  If you want to use Weld in Java SE, don't use this Maven dependency:


                          <dependency>
                              <groupId>org.jboss.weld.se</groupId>
                              <artifactId>weld-se</artifactId>
                              <version>1.1.1.Final</version>
                          </dependency>
                  
                  



                  Use this instead:


                          <dependency>
                              <groupId>org.jboss.weld.se</groupId>
                              <artifactId>weld-se-core</artifactId>
                              <version>1.1.1.Final</version>
                          </dependency>
                  
                          <dependency>
                              <groupId>org.jboss.weld</groupId>
                              <artifactId>weld-core</artifactId>
                              <version>1.1.1.Final</version>
                          </dependency>
                  
                          <dependency>
                              <groupId>org.javassist</groupId>
                              <artifactId>javassist</artifactId>
                              <version>3.14.0-GA</version>
                          </dependency>
                  
                          <!-- Here you pick what logging system you really want to use -->
                          <dependency>
                              <groupId>org.slf4j</groupId>
                              <!-- Oh, I have an idea! There is one in every JVM classpath! -->
                              <artifactId>slf4j-jdk14</artifactId>
                              <!-- Has to be >= 1.5.5 because SLF4J is garbage -->
                              <version>1.5.10</version>
                          </dependency>
                  
                  

                  • 6. Re: Weld SE and slf4j
                    christian.bauer
                    • 7. Re: Weld SE and slf4j
                      ozizka

                      Sorry if I am missing something obvious - but
                      why there's no artifact like weld-se-core with dependency on weld-core and javaassist?

                      • 8. Re: Weld SE and slf4j
                        ozizka

                        Now I see that weld-se-core actually depends on weld-core which depends on javaassist.
                        So only weld-se-core is needed - just tried with my SE app.

                        • 9. Re: Weld SE and slf4j
                          ozizka

                          And, for the next time, I'd suggest to name it weld-se-bundle to make it clear right from artifact name. WDYT.

                          • 10. Re: Weld SE and slf4j
                            jraduget

                            In my case with slf4j 1.6.2 and log4j, weld-se works fine, only with this dependencies :


                                           <dependency>
                                                    <groupId>org.jboss.weld.se</groupId>
                                                    <artifactId>weld-se-core</artifactId>
                                                    <version>1.1.1.Final</version>
                                            </dependency>
                            
                                            <dependency>
                                                    <groupId>org.jboss.weld</groupId>
                                                    <artifactId>weld-core</artifactId>
                                                    <version>1.1.1.Final</version>
                                                    <exclusions>
                                                            <exclusion>
                                                                    <artifactId>slf4j-ext</artifactId>
                                                                    <groupId>org.slf4j</groupId>
                                                            </exclusion>
                                                    </exclusions>
                                            </dependency>
                            
                                            <dependency>
                                                    <groupId>org.slf4j</groupId>
                                                    <artifactId>slf4j-log4j12</artifactId>
                                                    <version>1.6.2</version>
                                            </dependency>
                            
                                            <dependency>
                                                    <groupId>org.slf4j</groupId>
                                                    <artifactId>slf4j-ext</artifactId>
                                                    <version>1.6.2</version>
                                            </dependency>