costin      02/03/18 10:38:40

  Modified:    jk/native2/common jk_logger_file.c
  Log:
  Update the file logger to the new config.
  
  Now simple things like changing the log level at runtime are possible.
  
  Revision  Changes    Path
  1.12      +38 -29    jakarta-tomcat-connectors/jk/native2/common/jk_logger_file.c
  
  Index: jk_logger_file.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_logger_file.c,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- jk_logger_file.c  21 Feb 2002 11:11:15 -0000      1.11
  +++ jk_logger_file.c  18 Mar 2002 18:38:39 -0000      1.12
  @@ -59,7 +59,7 @@
    * Description: Utility functions (mainly configuration)                   *
    * Author:      Gal Shachor <[EMAIL PROTECTED]>                           *
    * Author:      Henri Gomez <[EMAIL PROTECTED]>                               *
  - * Version:     $Revision: 1.11 $                                           *
  + * Version:     $Revision: 1.12 $                                           *
    ***************************************************************************/
   
   #include "jk_env.h"
  @@ -74,9 +74,6 @@
   #define HUGE_BUFFER_SIZE (8*1024)
   #define LOG_LINE_SIZE    (1024)
   
  -int JK_METHOD jk2_logger_file_factory(jk_env_t *env, jk_pool_t *pool, void **result,
  -                                     const char *type, const char *name);
  -
   
   /* 
    * define the log format, we're using by default the one from error.log 
  @@ -145,32 +142,44 @@
       return JK_LOG_DEBUG_LEVEL;
   }
   
  -static int jk2_logger_file_open(jk_env_t *env,jk_logger_t *_this,
  -                                jk_map_t *properties )
  +static int JK_METHOD
  +jk2_logger_file_setProperty(jk_env_t *env, jk_bean_t *mbean, 
  +                            char *name,  void *valueP )
  +{
  +    jk_logger_t *_this=mbean->object;
  +    char *value=valueP;
  +    if( strcmp( name, "name" )==0 ) {
  +        _this->name=(char *)value;
  +    } else if( strcmp( name, "timeFormat" )==0 ) {
  +        jk2_logger_file_logFmt = value;
  +    } else if( strcmp( name, "level" )==0 ) {
  +        _this->level = jk2_logger_file_parseLogLevel(env, value);
  +        if( _this->level == 0 ) {
  +            _this->jkLog( env, _this, JK_LOG_ERROR,
  +                          "Level %s %d \n", value, _this->level );
  +        }
  +    }
  +}
  +
  +
  +static int jk2_logger_file_init(jk_env_t *env,jk_logger_t *_this )
   {
  -    char *file=jk2_map_getStrProp(NULL, properties,"logger","file",
  -                                 "name","mod_jk.log");
  -    int level;
  -    char *levelS=jk2_map_getStrProp(NULL, properties,"logger","file",
  -                                   "level", "ERROR");
  -    char *logformat=jk2_map_getStrProp(NULL, properties,"logger","file",
  -                                   "timeFormat", JK_TIME_FORMAT);
       FILE *f;
   
  -    _this->level = jk2_logger_file_parseLogLevel(env, levelS);
  +    if( _this->name==NULL )
  +        _this->name="mod_jk.log";
  +    
       if( _this->level == 0 )
  -        _this->jkLog( env, _this, JK_LOG_ERROR,
  -                      "Level %s %d \n", levelS, _this->level ); 
  +        _this->level=JK_LOG_ERROR_LEVEL;
       
  -    if( logformat==NULL ) {
  -        logformat=JK_TIME_FORMAT;
  +    if( jk2_logger_file_logFmt==NULL ) {
  +        jk2_logger_file_logFmt = JK_TIME_FORMAT;
       }
  -    jk2_logger_file_logFmt = logformat;
   
  -    f = fopen(file, "a+");
  +    f = fopen(_this->name, "a+");
       if(f==NULL) {
           _this->jkLog(env, _this,JK_LOG_ERROR,
  -                     "Can't open log file %s\n", file );
  +                     "Can't open log file %s\n", _this->name );
           return JK_FALSE;
       }
       _this->logger_private = f;
  @@ -266,11 +275,9 @@
   }
   
   
  -int jk2_logger_file_factory(jk_env_t *env,
  -                            jk_pool_t *pool, 
  -                            void **result,
  -                            const char *type,
  -                            const char *name)
  +int jk2_logger_file_factory(jk_env_t *env, jk_pool_t *pool, 
  +                            jk_bean_t *result,
  +                            const char *type, const char *name)
   {
       jk_logger_t *l = (jk_logger_t *)pool->alloc(env, pool, sizeof(jk_logger_t));
   
  @@ -280,11 +287,13 @@
   
       l->log = jk2_logger_file_log;
       l->logger_private = NULL;
  -    l->open =jk2_logger_file_open;
  +    l->init =jk2_logger_file_init;
       l->jkLog = jk2_logger_file_jkLog;
  -
  -    *result=(void *)l;
       l->level=JK_LOG_ERROR_LEVEL;
  +
  +    result->object=l;
  +    l->mbean=result;
  +    result->setAttribute = jk2_logger_file_setProperty;
   
       return JK_TRUE;
   }
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to