如何停止Pharo中ZnServer向Transcript输出内容?
停止ZnServer向Transcript输出内容的方法
嘿,这个需求我之前也碰到过!要让ZnServer不再往Transcript打印内容,核心是控制它的日志记录器——毕竟ZnServer的输出都是通过Logger组件实现的,默认用的就是会往Transcript输出的TranscriptLogger。给你几个实用的解决方法:
针对默认服务器实例
如果你用的是Pharo里默认的ZnServer实例(比如直接用ZnServer start启动的),只需要把它的日志记录器换成不输出任何内容的NullLogger就行:ZnServer default logger: NullLogger new针对自定义服务器实例
要是你自己创建了单独的服务器实例(比如myServer := ZnServer startOn: 8080),那就找到对应的实例引用,再替换日志记录器:myServer logger: NullLogger new临时关闭,之后可恢复
如果你只是想暂时关掉输出,之后还要恢复原来的日志行为,可以先把旧的日志记录器存起来:"先保存原来的logger" oldLogger := ZnServer default logger. "换成NullLogger停止输出" ZnServer default logger: NullLogger new. "之后要恢复的话" ZnServer default logger: oldLogger.
简单说,NullLogger就是专门用来静默日志的组件,替换掉原来的TranscriptLogger之后,ZnServer就不会再往Transcript输出任何日志内容啦。
内容的提问来源于stack exchange,提问作者rbsc
相关产品推荐
相关产品推荐

