我想开始使用Chainsaw v2.几乎没有关于它的信息.我发现只有这个,但链接无法打开,所以不清楚.
我使用socketAppender:
log4j.rootLogger=DEBUG, server
log4j.appender.server=org.apache.log4j.net.SocketAppender
log4j.appender.server.Port=4712
log4j.appender.server.RemoteHost=localhost
log4j.appender.server.ReconnectionDelay=10000
Run Code Online (Sandbox Code Playgroud)
我创建了文件log4j.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration >
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">
<appender name="A2" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.SimpleLayout"/>
</appender>
<plugin name="SocketReceiver" class="org.apache.log4j.net.SocketReceiver">
<param name="Port" value="4712"/>
</plugin>
<root>
<level value="debug"/>
</root>
</log4j:configuration>
Run Code Online (Sandbox Code Playgroud)
并选择它let me search for configuration file.但是没有日志.接下来我该怎么办?
我正在尝试运行此示例,但我在配置方面存在一些问题.
我复制log4j-jms.properties,jndi.properties,Log4jJMSAppenderExample.java
ProjectJMS
|
\_ src
| \_ Log4jJMSAppenderExample.java
| \_ jndi.propeties
\_ log4j-jms.properties
Run Code Online (Sandbox Code Playgroud)
并activemq在我的控制台中运行.
当我运行我的例子时,我得到了
log4j:WARN No appenders could be found for logger (org.apache.activemq.transport.WireFormatNegotiator).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.`PropertyConfigurator.configure("log4j-jms.properties");`
Run Code Online (Sandbox Code Playgroud)
所以我补充道
PropertyConfigurator.configure("log4j-jms.properties");
Run Code Online (Sandbox Code Playgroud)
现在我可以在Eclipse控制台中看到日志,但仍然有这个警告
log4j:WARN No appenders could be found for logger (org.apache.activemq.transport.WireFormatNegotiator).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
2012-08-13 10:21:44,741 INFO Log4jJMSAppenderExample - Test log
Received …Run Code Online (Sandbox Code Playgroud) 我是编程Java Desktop Application与数据库交互的初学者.我的目标是创建一个简单的java应用程序,它使用数据库在本地存储它的数据.经过一些谷歌搜索后,我发现SQLite/Derby将满足我的需求.
我用谷歌搜索了SQLite和Derby,我发现为了使用它们,我需要通过终端中的命令将它们安装在计算机上.
我的问题是如何完成应用程序,以便最终为客户端提供一个简单的安装程序文件,该文件安装Java Application和SQLite/Derby数据库,避免以前进行任何安装.
那可能吗?
你能推荐一下关于在分布式系统中使用log4j的简单教程,特别是关于SocketAppender的吗?
我试图找到一些基本的例子,但我失败了.
我正在尝试将日志记录组件添加到分布式系统.它是AspectJ为了避免链接当前的源代码而编写的.我使用socket appender发送日志,但我想尝试一些更有效的方法.
我听说过,我应该用JMSAppender和AsyncAppender,但是我忘了配置.我应该创建Receiver哪些收集日志并将它们传递给数据库和GUI(我使用ChainSaw)?
我试着关注turorial1和tutorial2,但是他们还不够清楚.

编辑:
在我准备的小型演示中,我发送了6个日志以请求(模拟3个组件)
[2012-08-08 15:40:28,957] [request1344433228957] [Component_A] [start]
[2012-08-08 15:40:32,050] [request1344433228957] [Component_B] [start]
[2012-08-08 15:40:32,113] [request1344433228957] [Component_C] [start]
[2012-08-08 15:40:32,113] [request1344433228957] [Component_C] [end - throwing]
[2012-08-08 15:40:32,144] [request1344433228957] [Component_B] [end]
[2012-08-08 15:40:32,175] [request1344433228957] [Component_A] [end]
Run Code Online (Sandbox Code Playgroud)
使用套接字Appender.所以我的log4j.properties是:
log4j.rootLogger=DEBUG, server
log4j.appender.server=org.apache.log4j.net.SocketAppender
log4j.appender.server.Port=4712
log4j.appender.server.RemoteHost=localhost
log4j.appender.server.ReconnectionDelay=1000
Run Code Online (Sandbox Code Playgroud)
所以我跑了
>java -classpath log4j-1.2.17.jar org.apache.log4j.net.SimpleSocketServer 4712 log4j-server.properties
Run Code Online (Sandbox Code Playgroud)
配置
log4j.rootLogger=DEBUG, CA, FA
#
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=[%d] [%t] [%c] [%m]%n
#
log4j.appender.FA=org.apache.log4j.FileAppender
log4j.appender.FA.File=report.log …Run Code Online (Sandbox Code Playgroud) 我想使用以下定义的中断来剪切数据cut():
x = c(-10:10)
cut(x, c(-2,4,6,7))
[1] <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> (-2,4] (-2,4] (-2,4] (-2,4] (-2,4] (-2,4] (4,6] (4,6] (6,7] <NA> <NA>
[21] <NA>
Levels: (-2,4] (4,6] (6,7]
Run Code Online (Sandbox Code Playgroud)
但是,我也想获得水平(minimum:-2]和(7:maximum].在recode()汽车包装的功能中,可以使用"lo:".是否有类似的东西可用于切割?
我在我的选择中使用自定义箭头.它们有不同的宽度,我无法弄清楚如何定位它们,使得从选择的右边缘到箭头的距离在所有这些中完全相同.
目前我使用background position 95%看起来很好但不理想的东西.
select{
background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9LmNscy0ye2ZpbGw6IzQ0NDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPmFycm93czwvdGl0bGU+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iNC45NSIgaGVpZ2h0PSIxMCIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMiIgcG9pbnRzPSIxLjQxIDQuNjcgMi40OCAzLjE4IDMuNTQgNC42NyAxLjQxIDQuNjciLz48cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMy41NCA1LjMzIDIuNDggNi44MiAxLjQxIDUuMzMgMy41NCA1LjMzIi8+PC9zdmc+) no-repeat 95%;
-moz-appearance: none;
-webkit-appearance: none;
appearance: none;
padding : 4px 20px
}Run Code Online (Sandbox Code Playgroud)
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes Super Long Option</option>
<option value="audi">Audi</option>
</select>Run Code Online (Sandbox Code Playgroud)
我试图在RMI方法中添加参数.当我添加例如String一切正常.但我不确定我是否可以传递我创建的对象.我是RMI的新手,所以我的代码非常简单:
HelloIF
public interface HelloIF extends Remote {
String greeting(Context c) throws RemoteException;
}
Run Code Online (Sandbox Code Playgroud)
你好
public class Hello extends UnicastRemoteObject implements HelloIF {
public Hello() throws RemoteException {
}
public String greeting(Context c) throws RemoteException {
addToContext(c);
report(c);
return "greeting";
}
void addToContext(Context c) {
c.addID(Thread.currentThread().getId());
}
void report(Context c) {
System.out.println("Hello.greeting() thread : "
+ Thread.currentThread().getName() + " "
+ Thread.currentThread().getId());
System.out.println("Hello.greeting() context : "
+ c.getDistributedThreadName() + " " + c.getRequestType());
}
}
Run Code Online (Sandbox Code Playgroud)
为RMIServer
public class …Run Code Online (Sandbox Code Playgroud) 我需要将记录器名称放入每个日志中。现在我用
logger.error(logger.getName());。
还有更好的办法吗?我不想用%m这里。
这是一个简单的问题,我不确定我是否可以使用sed / awk做到这一点。如何使sed搜索这3行并替换为具有确定字符串的行?
<Blarg>
<Bllarg>
<Blllarg>
Run Code Online (Sandbox Code Playgroud)
用。。。来代替
<test>
Run Code Online (Sandbox Code Playgroud)
我尝试了sed,"s/<Blarg>\n<Bllarg>\n<Blllarg>/<test>/g"但似乎找不到这些行。可能是我的换行符(?)\n。我想念什么吗?
是yyyy-MM-dd HH:mm:ss,SSS时候以毫秒为单位获得简单的方法吗?我发现了一些信息,如何从做到这一点new Date()还是Calendar.getInstance(),但无法找到,如果它可以从长进行(例如1344855183166)