code: public void init (RuntimeServices rsvc)
      {
          // if we weren't constructed with a servlet context, try to obtain
          // one via the application context
          if (_sctx == null) {
              // first look for the servlet context directly
              _sctx = (ServletContext)rsvc.getApplicationAttribute("ServletContext");
          }
  
          // if that didn't work, look for an application
          if (_sctx == null) {
              // first look for an application
              Application app = (Application)
                  rsvc.getApplicationAttribute(Application.VELOCITY_ATTR_KEY);
              if (app != null) {
                  _sctx = app.getServletContext();
              }
          }
  
          // if we still don't have one, complain
          if (_sctx == null) {
              rsvc.getLog().warn("ServletContextLogger: servlet context was not supplied. A user " +
                                 "of the servlet context logger must call " +
                                 "Velocity.setApplicationAttribute(\"ServletContext\", " +
                                 "getServletContext()).");
          }
      }
docs: from interface LogChute