Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure 为什么lein repl会阻止STDERR_Clojure_Leiningen - Fatal编程技术网

Clojure 为什么lein repl会阻止STDERR

Clojure 为什么lein repl会阻止STDERR,clojure,leiningen,Clojure,Leiningen,为什么leinrepl会阻止STDERR。我在没有项目的情况下运行lein repl,也在有项目的情况下运行lein repl或lein run,在打印到STDERR时遇到问题。例如,连接到NREPL(不同的终端选项卡)并运行时: (.println System/err "something") 我在启动终端窗口中看不到任何打印内容-仅在repl中。如何让STDERR在用于SYSTEMD日志记录时同时打印。 我使用最新的Leiningen,项目是通过应用程序模板生成的。lein repl不做

为什么leinrepl会阻止STDERR。我在没有项目的情况下运行
lein repl
,也在有项目的情况下运行
lein repl
lein run
,在打印到STDERR时遇到问题。例如,连接到NREPL(不同的终端选项卡)并运行时:

(.println System/err "something")
我在启动终端窗口中看不到任何打印内容-仅在repl中。如何让STDERR在用于SYSTEMD日志记录时同时打印。
我使用最新的Leiningen,项目是通过
应用程序
模板生成的。

lein repl
不做这样的事情。您可以自己进行测试:

#防止我们的单个写入重叠
with_lock(){exec{lock\u fd}>。/tty_write_lock;flock“$lock\u fd”;“$@”exec{lock\u fd}>&-}
莱因回复3>&2\
>>(当IFS=read-r line;使用锁定打印F'O:\n'$line'>&3;完成时)\
2> >(而IFS=read-r line;do with_lock printf'E:[%q]\n'$line'>&3;完成)\
3>&- 
O:
O:
正如您所看到的,
标准输出上的某些内容
位于
O:
内部,由处理标准输出的进程创建;然而,stderr上的
某些内容
位于
E:[…]
内,由处理stderr的流程替换创建


从另一个角度来看:


{strace-f-e write lein repl 2>&1 | egrep'write[(][12],”;}
lein repl
不做这样的事情。您可以自己测试:

#防止我们的单个写入重叠
with_lock(){exec{lock\u fd}>。/tty_write_lock;flock“$lock\u fd”;“$@”exec{lock\u fd}>&-}
莱因回复3>&2\
>>(当IFS=read-r line;使用锁定打印F'O:\n'$line'>&3;完成时)\
2> >(而IFS=read-r line;do with_lock printf'E:[%q]\n'$line'>&3;完成)\
3>&- 
O:
O:
正如您所看到的,
标准输出上的某些内容
位于
O:
内部,由进程替换处理标准输出创建;而
标准输出上的某些内容
位于
E:[…]
内部,由进程替换处理标准输出创建


从另一个角度来看:


{strace-f-e write lein repl 2>&1 | egrep'write[(][12],”;}奇怪的是,我得到的是:lein repl user=>(.println System/err“bubu”)bubu Nilbu请添加你的clojure、leiningen版本和~/.lein/profiles.clj.FWIW的内容。我的这些东西的组合与你发布的代码片段很好。哦,那么你真正的问题是关于写日记?现在这更清楚了。我会开始通读,或者你的堆栈中实际使用的任何中间件。奇怪的是,我得到的是:lein repl user=>(.println System/err“bubu”)bubu Nilbu请添加你的clojure、leiningen版本和~/.lein/profiles.clj.FWIW的内容。我的这些东西的组合与你发布的代码片段很好。哦,那么你真正的问题是关于写日记?现在这更清楚了。我会开始通读,或者你的堆栈中实际使用的任何中间件。