openfire日志和一个账号多处登录

1、日志log如何看

openfire的源文件下面bulid/lib/dist/log4j.xml

<appender name="debug-out" class="org.apache.log4j.RollingFileAppender">

       <param name="File" value="d:/logs/debug.log" />

       <param name="MaxFileSize" value="1024KB"/>

       <param name="MaxBackupIndex" value="5"/>

       <layout class="org.apache.log4j.PatternLayout">

           <param name="ConversionPattern" value="%d{yyyy.MM.dd HH:mm:ss} %c - %m%n" />

       </layout>

       <filter class="org.apache.log4j.varia.LevelRangeFilter">

           <param name="LevelMax" value="debug" />

           <param name="AcceptOnMatch" value="true" />

       </filter>

    </appender>

 

    <appender name="info-out" class="org.apache.log4j.RollingFileAppender">

       <param name="File" value="d:/logs/info.log" />

       <param name="MaxFileSize" value="1024KB"/>

       <param name="MaxBackupIndex" value="5"/>

       <layout class="org.apache.log4j.PatternLayout">

           <param name="ConversionPattern" value="%d{yyyy.MM.dd HH:mm:ss} %c - %m%n" />

       </layout>

       <filter class="org.apache.log4j.varia.LevelRangeFilter">

           <param name="LevelMax" value="info" />

           <param name="LevelMin" value="info" />

           <param name="AcceptOnMatch" value="true" />

       </filter>

    </appender>

 

上面这个黄底的地方就是我们放日志的地方,默认是{openfire_home},但是我们没有设置环境变量

 

 

Log4j是目前应用最广泛的日志空间,它把日志分为:alltracedebuginfowarningerrorfitaloff等级别,级别是依次增高。

Openfire中的log4j配置文件:

    <root>

       <level value="info" />

       <appender-ref ref="debug-out" />

       <appender-ref ref="info-out" />

       <appender-ref ref="warn-out" />

       <appender-ref ref="error-out" />

    </root>

起始级别是info

你如果想改低一点,把info改成debug或者其他级别即可。

 

2、一个账号多处登录

1、启动时候session管理

sessionManager里面有一个initialize方法,他会读取数据库中ofProperty表中的xmpp.session.conflict-limit数据。表示当前不允许重复登录。

 

 

2、登录时候

新的用户登录的时候,他会调用IQBindHandler里面的handleIQ方法来进行登录绑定,他会根据用户名、服务器名称、客户端资源名,来判断当前of环境中是否存在此用户的session,如果有,再判断是否大于数据库中的conflict-limit,若大于,就直接把之前的session给剔除。

若小于conflict-limit他不会剔除session,但会发送错误信息,session保持链接。

猜你喜欢

转载自gsdhaiji-cai.iteye.com/blog/1843619