Java 是否可以使用SecurityManager来控制哪些类可以写入stdout/stderr?

Java 是否可以使用SecurityManager来控制哪些类可以写入stdout/stderr?,java,securitymanager,java-security-manager,Java,Securitymanager,Java Security Manager,我很好奇是否可以使用SecurityManager限制谁可以向System.out/System.err写入。看这个似乎不可能开箱即用,但也许还有另一层我没有看过 如果无法开箱即用,是否有一种合理的模式可以使用System.setOut()/System.setErr()?否,但您可以要求运行时权限(“setIO”)调用setOut()/setErr(),正如Javadoc中所述,异黄酮是一种相反的问题。当然,如果你想锁定stdout/stderr,你也会想限制它,但是默认的stdout/std

我很好奇是否可以使用
SecurityManager
限制谁可以向
System.out
/
System.err
写入。看这个似乎不可能开箱即用,但也许还有另一层我没有看过


如果无法开箱即用,是否有一种合理的模式可以使用
System.setOut()
/
System.setErr()

否,但您可以要求
运行时权限(“setIO”)
调用
setOut()/setErr()
,正如Javadoc中所述,异黄酮是一种相反的问题。当然,如果你想锁定stdout/stderr,你也会想限制它,但是默认的stdout/stderr允许任何调用方,这在这种情况下是不可取的。创建你自己的委托
PrintStream
,它会检查调用方是否有特定的权限。