EJB - System out println - 如何使其工作

时间:2014-11-25 11:32:05

标签: java ejb println session-bean

在大学里,我在Java上做EJB项目。 我有一些Beans(远程接口和它的实现,它执行主要的业务逻辑)。我想打印一些调试文本\信息。例如:

@Stateless(mappedName = "BusinessLogicBean")     // имя, по которому можно обращаться к этому бину извне)

public class BusinessLogicSessionBean implements BusinessLogicSessionBeanRemote, BusinessLogicSessionBeanLocal {
    @PersistenceContext(unitName = "FoodDiary-ejbPU")
    private EntityManager em;

    @Override
    public void addNewProduct(String name, Boolean isProducr, String kkal, String prot, String fat, String carb) {
 System.out.printl("Now we are running method ADD NEW PRODUCT");
....
}

但是当我使用所有方法时 - 他们正在做所有的业务逻辑,但不会在我的短语(我用SOUT写作)中的任何地方打印。如果执行我的程序,我在Glassfish日志,日志中查找 - 并且没有任何内容。

有人能告诉我 - 如何从会话豆打印我的信息?

2 个答案:

答案 0 :(得分:0)

尝试使用调试器来确保应用程序到达您的System.out.println。一般来说看起来不错。

答案 1 :(得分:0)

根据glassfish文件:

https://docs.oracle.com/cd/E19798-01/821-1752/beafc/index.html

启用详细模式

要在命令提示符屏幕上将服务器日志和消息打印到 System.out ,您可以以详细模式启动服务器。这样可以轻松地使用print语句进行简单的调试,而无需每次都查看server.log文件。

要以详细模式启动服务器,请使用---- verbose选项,如下所示:

asadmin start-domain --verbose [domain-name]

当服务器处于详细模式时,除日志文件外,还会将消息记录到控制台或终端窗口。此外,按Ctrl-C会停止服务器并按Ctrl- \(在UNIX平台上)或Ctrl-Break(在Windows平台上)打印线程转储。在UNIX平台上,您还可以使用jstack命令(请参阅http://java.sun.com/javase/6/docs/technotes/tools/share/jstack.html)或命令kill -QUIT process_id打印线程转储。