我是一个新入行的菜鸟,现在在做java服务器,在这里记录下服务器框架的主要构成,有任何不准确与错误的地方,希望看到的人提出意见。非常感谢!

一、概述。

1.1日志系统介绍。

任何一个应用程序或者游戏的服务器日志系统都是必须的,日志系统的主要目的是:监视代码变量变化;记录服务器访问操作记录以及异常运行操作记录;进行部分统计分析工作;担当开发环境中调试器作用,输出代码调试信息。

1.2  日志系统的选择。

现在最流行的应该是logback,网上很多log4j应该替换为logback的帖子。但是项目一般都会用到很多的框架,很多框架的日志系统都是log4j,所以我们也必须在项目中加入log4j与slf4j。我们需要的jar包包括:logback.classic-1.1.1.jar、logback-core-1.1.1.jar、slf4j-api-1.7.6.jar。是简单介绍下logback的优点,当然大部分都是网上的观点摘抄。

更快的速度。某些执行速度据说快了10倍,而且内存占用也更小了。实现了SLF4j。logback-classics实现了SLF4j,可以非常容易的切换log4j。自动重载配置文件。配置文件修改后,能自动重新加载配置文件,扫描过程快速安全。堆栈树带有包版本。自动去除旧日志文件。当然还有很多其他的优缺点比较,这里只列举我比较关心的。

1.3  下载地址。

http://logback.qos.ch/download.html 可以去官方下载最新包,以及相关文档支持。

二、配置

贴一个测试的日志配置logback.xml  


  

  
	
    
    
      
    
    
    	
          
              
                message.contains("dao")  
              
            ACCEPT  
            DENY  
         
        
        	%date %-5level [%logger{0}] %thread - %msg%n
        
        
      
    
      
          
              
                message.contains("dao")  
              
            ACCEPT  
            DENY  
            
        ${log.base}.log  
          
            ${log.base}_%d{yyyy-MM-dd}.log.zip 
            
        		100MB
      		 
        
        
        	%date %-5level [%logger{0}] %thread - %msg%n
          
    
    
      
          
      
      
          
      
      
          
      
      
          
      
      
          
      
      
          
      
      
          
      
      
          
      
      
          
      
      
          
      
      
          
      
      
          
          
          
          
          
          
      
 

粘一个别的大神正在用的,具体设置根据项目自行编写。



  2 
  3 
  4     
  5     
  6         
  7             %date [%thread] %-5level %logger{80} - %msg%n
  8         
  9     
 10 
 11     
 12     
 14         
 15             DEBUG
 16             ACCEPT
 17             DENY 
 18         
 19         
 20             D:/logs/debug.%d{yyyy-MM-dd}.log
 21             30
 22         
 23         
 24             %date [%thread] %-5level %logger{80} - %msg%n
 25         
 26     
 27 
 28     
 29     
 31         
 32             ERROR
 33             ACCEPT
 34             DENY 
 35         
 36         
 37             D:/logs/error.%d{yyyy-MM-dd}.log
 38             30
 39         
 40         
 41             %date [%thread] %-5level %logger{80} - %msg%n
 42         
 43     
 44 
 45     
 46     
 48         
 49             
 50                 message.contains("str")
 51             
 52             ACCEPT
 53             DENY
 54         
 55         
 56             D:/logs/contains.%d{yyyy-MM-dd}.log
 57             
 58             30
 59         
 60         
 61             %date [%thread] %-5level %logger{80} - %msg%n
 62         
 63     
 64 
 65     
 66     
 67         
 69             com.mysql.jdbc.Driver
 70             jdbc:mysql://host_name:3306/datebase_name
 71             username
 72             password
 73         
 74     
 75 
 76     
 77         
 78     
 79     
 80         
 81     
 82     
 83         
 84     
 85     
 86         
 87     
 88     
 89         
 90     
 91     
 92         
 93     
 94     
 95         
 96     
 97     
 98         
 99     
100     
101         
102     
103 
104     
105         
106         
107         
108         
109         
110     
111 
112