Java可有条件编译

frankelin 2003-08-24 09:47:14
Java可有条件编译,因为我有想有些代码在调试时候使用(如输入一些错误报告),但在发布版本中不使用。
在c++中有define,可以通过#if来条件编译。但在java中如何解决这个问题呢
...全文
111 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
chaojinn 2003-08-26
  • 打赏
  • 举报
回复
sorry,有个小错,应该是
public static void out(String info)
{
if(isDebugTime)
System.out.println(info);
}
Schlemiel 2003-08-25
  • 打赏
  • 举报
回复
Log4j是apache的一个项目,自己去下载一个看文档吧。
chaojinn 2003-08-25
  • 打赏
  • 举报
回复
1.4下有变通的办法。
自己写个类如下:
public class Tracer
{
private static boolean isDebugTime=false;


/**
* @return whether it is debugtime
*/
public static boolean isDebugTime()
{
return isDebugTime;
}

/**
* @param b whether it is debugtime
*/
public static void setDebugTime(boolean b)
{
isDebugTime = b;
}

/**
* this function prints the debug info
* @param info debug info
*/
public static void out(String info)
{
System.out.println(info);
}
}
调试时设为debuTime
发布时去掉即可。
lotofu 2003-08-25
  • 打赏
  • 举报
回复
assert 命令!
whyxx 2003-08-25
  • 打赏
  • 举报
回复
log4j-------下个tomcat里面就有这个
frankelin 2003-08-24
  • 打赏
  • 举报
回复
谢谢Schlemiel(维特根斯坦的扇子) ,不过由于我最近才接触JAVA,对它不是很熟。请问log4j在哪里配置呢。配置步骤如何?谢谢
Schlemiel 2003-08-24
  • 打赏
  • 举报
回复
Log4j最常用的基本配置如下(跟BasicConfigurator.config()的效果一样):

# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1

# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender

# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

把ConsoleAppender类换成NullAppender就可以不输出任何log信息了。
Schlemiel 2003-08-24
  • 打赏
  • 举报
回复
用Log4j(或者J2SE 1.4以后加入的logging框架),在生产期把logger配置到console或者log文件,开发完之后把logger配置为空就行了。
linuxheaven 2003-08-24
  • 打赏
  • 举报
回复
java好想没有这个功能呀
xjffj 2003-08-24
  • 打赏
  • 举报
回复
没有,好像1.5要加的说。
ewingchen 2003-08-24
  • 打赏
  • 举报
回复
JAVA本身没有
有IDE支持
web_spider 2003-08-24
  • 打赏
  • 举报
回复
mark

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧