You should use @Logger instead of @In.
I've used @Logger and I've same problem..
The log instance is null (note: create=true is not required for @Logger).
try restarting JBOss with your app deployed (as EAR/WAR, packaged or exploded, doesn't matter) and watch the server.log for any stack trace during startup and deployment of your app.
There is something very basic you're doing wrong in terms of config or elsewhere.
And always use @Logger, not @In, for injecting the Log instance...
also, double-check to make sure there is a log4j.jar in JBoss classpath (i.e. \server\xxx\lib)
How can I inject EntityManager?
I've same problem... I've tring with @In and @PersistenContext.
when you inject EntityManager instance using @In, the instance name of EntityManager must match the name attribute's value for the SMPC tag in components.xml.
<persistence:managed-persistence-context name="entityManager" auto-create="true" persistence-unit-jndi-name="java:/boBETSEntityManagerFactory"/>
then inject like this:
@In EntityManager entityManager;
not like this:
@In EntityManager em;
NOTE: you generally don't use @PersistenceContext in Seam apps.