使用SLF4J记录错误消息和异常的正确方法是什么?
我试过这样做但是从不打印异常堆栈跟踪:
logger.error("Unable to parse data {}", inputMessage, e);
在这种情况下,我想填充{}与inputMessage和退出异常堆栈跟踪.
我能看到这样做的唯一方法就是这样做:
logger.error("Unable to parse data " + inputMessage, e);
这不漂亮.
我正在使用Scala,Source.fromFile但是一旦读取了文件,我似乎无法找到一种很好的方法将它close传入底层InputStream.
这是我的代码,AssertionError因为无法删除文件而失败.
def main(args : Array[String]) : Unit = {
val myFile = new File("c:/tmp/doodah.txt")
var src = Source.fromFile(myFile)
src.getLines.foreach(l => print(l))
val deleted: Boolean = myFile.delete
assert (deleted , "File was not deleted - maybe the stream hasn't been closed in Source")
}
Run Code Online (Sandbox Code Playgroud)
Source有一个被调用的方法,reset但是这样做会重新创建文件中的源.
内部Source创建一个BufferedSource具有close方法的底层.但是,这不是从Source公开的.
我希望Source在读取文件内容后释放文件句柄,但似乎没有这样做.
到目前为止,我看到的最佳解决方法是基本上将其转换Source为a BufferedSource和call close.
try {
src.getLines.foreach(l => print(l))
}
finally src match { …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Java Webstart部署一个通过TibrvJ库使用Tibrv 的本机实现的应用程序.
我已经将所有Windows dll从内部打包c:\tibco\tibrv\bin到一个Jar文件中,并将它们添加到JNLP文件中的nativelib元素中.
我希望webstart 从文件中获取dlltibco-7.5.1-nativelibs.jar文件并允许它们通过System.loadLibrary调用 来加载Tibrv.open().但是它似乎不想正常工作.
我的JNLP文件如下所示:
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE jnlp PUBLIC "-//Sun Microsystems, Inc//DTD JNLP Descriptor 6.0//EN" "http://java.sun.com/dtd/JNLP-6.0.dtd">
<jnlp spec="6.0+"
codebase="http://somewhere:8080/my-gui/application"
href="launch.jnlp">
<information>
<title>My GUI</title>
<vendor>Technology</vendor>
<description>Dashboard</description>
<description kind="short">Dashboard</description>
<icon href="icon/Stocks-128x128.png" />
<offline-allowed />
<shortcut online="true">
<desktop />
<menu submenu="Dashboard" />
</shortcut>
</information>
<security>
<all-permissions />
</security>
<update check="always" policy="prompt-update" />
<resources>
<j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se" …Run Code Online (Sandbox Code Playgroud) 我创建了一个带有参数的SQL查询的SqlCommand.我将所有参数添加到类中.
是否有一种简单的方法可以在将结果发送到数据库之前查看生成的SQL查询?
这对于调试来说非常方便.(例如,复制整个查询并在管理工作室中运行以尝试查明问题)
[R
哪种更好的做法,为什么?
bool IsTodayMonday { get { return DateTime.Now.DayOfWeek == DayOfWeek.Monday; } }
Run Code Online (Sandbox Code Playgroud)
要么
bool IsTodayMonday()
{
return DateTime.Now.DayOfWeek == DayOfWeek.Monday;
}
Run Code Online (Sandbox Code Playgroud) 我希望Microsoft SQL服务器查询对应于以下Oracle查询
//get schema of a table
desc tablename;
//get the names of all tables
select * from tab;
Run Code Online (Sandbox Code Playgroud)