在大学里,我在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日志,日志中查找 - 并且没有任何内容。
有人能告诉我 - 如何从会话豆打印我的信息?
答案 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打印线程转储。