Finally, I found a way to do this.
log4j.rootLogger=TRACE, stdout, file
log4j.category.testngLogger=DEBUG, testng
log4j.additivity.testngLogger=false
In rootLogger, it's like the father of all magazines. It inherits by default. The root registrar parameter should be like this.
If you are additivityset to false, it will never go torootLogger
In the file, log4j.xmlit will look as follows.
<logger name="testngLogger" additivity="false">
<level value="DEBUG" />
<appender-ref ref="testngLogger" />
</logger>
<root>
<priority value="INFO" />
<appender-ref ref="CONSOLE" />
<appender-ref ref="fileLogger" />
</root>