大量的 sop  将产生大量的IO操作   同时在生产环境中 无法合理的控制是否需要输出

解决方案 »

  1.   


    同样大量的log也会产生大量的IO;如果不考虑区分日志级别,仅仅对比log.info()和System.out.print ,有什么本质的区别吗?
      

  2.   


    同样大量的log也会产生大量的IO;如果不考虑区分日志级别,仅仅对比log.info()和System.out.print ,有什么本质的区别吗?非得错误的使用log  有什么办法另外非要说却别,至少人家log框架可以很容易的实现 文件  DB 控制分片容量等
      

  3.   

    日志框架其实挺好用的,比如Email都能帮你搞定。
      

  4.   


    同样大量的log也会产生大量的IO;如果不考虑区分日志级别,仅仅对比log.info()和System.out.print ,有什么本质的区别吗? 如果是开发过程中,System.out.print  比 log更方便查看日志。
    但是绝大部分情况下, 项目是脱离ide启动的, 你总不能一直盯着tomcat控制台看打印语句呀。
      

  5.   

    System.out.print
    在编写的时候 随便写
    项目一旦上线
    就肯定不用System.out.print了
      

  6.   

    因为system这种语句是硬编码,不能控制输出,像log4j的日志框架可以控制需要的输出的日志等级。
      

  7.   

    学习的时候可以用,但是开发的时候还是用日志,最简单的一条,System.out.println输出的内容不能保存到文件,光这一点就足以不推荐使用。
      

  8.   


    因为System.out.println 只打印在控制台,打印完就过去了。也就是说除非你一直盯着程序跑,你才能看到System.out.println出的内容。而Logger可以将内容写入日志方便程序运行一段时候后排查问题。
    如果是测试阶段用System.out.println 问题也不大。而如果以及是在正式运行的程序System.out.println显然没办法帮你查错。
      

  9.   

    System.out.println没关系,,放心大胆的用就是了。。“只用System.out.println”     才是不好的实践
    99%的System.out.println 不会影响性能的
    因为每个方法都有缺点。。log4j也是,没法很好的查询。。所以我们也常常把日志扔到数据库里面使用sql方便查询。。但是不能说log4j是个不好的实践
    我们项目常用的方法是日志数据库放一份,Log4g放一份。。各个功能点使用file Api放一份,System.out.println也根据必要尽管的用
    一般性能占用都不超过10% ..对于一个重要系统来说,日志就是全面的全程的测试覆盖,性能占用50%都不为过。。
      

  10.   

    print streams ignore many issues involved in internationalization and error checking. This makes System.out easy to use in quick and dirty hacks and simple examples, while simultaneously making it unsuitable for production code, which should use
    the java.io.PrintWriter class  instead。
      

  11.   

    使用 System.setOut(new PrintStream(new File(""))); 也可以让system.out.print打印到文件
      

  12.   

    System.out.println 在开发的时候使用 或者在你不确定异常在哪里的时候,自己调试使用。这个时候可能比log更直观
    但是项目上线之后,如果你的项目代码存在System.out.println   这种都会被定义为垃圾代码用日志的话,能定义是异常、还是info还是 debug什么的,能提现一个程序员的编码素养哦~