我在运行测试自动化时使用log4j写日志。
这是我写日志的方法:
public class Log {
private static Logger Log = Logger.getLogger(Log.class.getName());
public static void info(String message)
{
Log.info(message);
}
}
但每当我使用它时,堆栈溢出错误都会抛出如下:
通话方式:
Log.info("Click action is performed on My Account link");
错误:
java.lang.StackOverflowError at
helpers.Log.info(Log.java:21) at
helpers.Log.info(Log.java:21) at
helpers.Log.info(Log.java:21) at
helpers.Log.info(Log.java:21)
有人可以帮忙吗?
答案 0 :(得分:1)
你在打电话给你的班级' Logger
方法,而不是info(String)
Log
方法:您的课程也称为Log.Log.info
。
使用Log
代替 - 或重命名Log
班级,或重命名 NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
Menu m = navigationView.getMenu();
SubMenu subMenu = m.addSubMenu("Top Playlists");
subMenu.add("Foo");
subMenu.add("Bar");
subMenu.add("Kamehameha");
MenuItem mi = m.getItem(m.size()-1);
mi.setTitle(mi.getTitle());
成员变量。
这是遵循Java命名约定的一个原因。
答案 1 :(得分:0)
我没有看到log4j.properties文件的配置。试试这个
import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;
public class Logs {
public static Logger Application_Log = Logger.getLogger(Logs.class.getName());
public Logs(){
DOMConfigurator.configure("log4j-config.xml");
}
public void info(String message){
Application_Log.info(message);
}