예제 #1
0
파일: admin.py 프로젝트: reebalazs/karl
def syslog_view(context, request):
    syslog_path = get_setting(context, "syslog_view")
    instances = get_setting(context, "syslog_view_instances", ["karl"])
    filter_instance = request.params.get("instance", "_any")
    if filter_instance == "_any":
        filter_instances = instances
    else:
        filter_instances = [filter_instance]

    def line_filter(line):
        try:
            month, day, time, host, instance, message = line.split(None, 5)
        except ValueError:
            # Ignore lines that don't fit the format
            return None

        if instance not in filter_instances:
            return None

        return line

    if syslog_path:
        syslog = codecs.open(syslog_path, encoding="utf-8", errors="replace")
    else:
        syslog = StringIO()

    batch_info = get_fileline_batch(syslog, context, request, line_filter=line_filter, backwards=True)

    return dict(
        api=AdminTemplateAPI(context, request),
        menu=_menu_macro(),
        instances=instances,
        instance=filter_instance,
        batch_info=batch_info,
    )
예제 #2
0
파일: admin.py 프로젝트: zagy/karl
def syslog_view(context, request):
    syslog_path = get_setting(context, 'syslog_view')
    instances = get_setting(context, 'syslog_view_instances', ['karl'])
    filter_instance = request.params.get('instance', '_any')
    if filter_instance == '_any':
        filter_instances = instances
    else:
        filter_instances = [filter_instance]

    def line_filter(line):
        try:
            month, day, time, host, instance, message = line.split(None, 5)
        except ValueError:
            # Ignore lines that don't fit the format
            return None

        if instance not in filter_instances:
            return None

        return line

    if syslog_path:
        syslog = codecs.open(syslog_path, encoding='utf-8', errors='replace')
    else:
        syslog = StringIO()

    batch_info = get_fileline_batch(syslog,
                                    context,
                                    request,
                                    line_filter=line_filter,
                                    backwards=True)

    return dict(
        api=AdminTemplateAPI(context, request),
        menu=_menu_macro(),
        instances=instances,
        instance=filter_instance,
        batch_info=batch_info,
    )
예제 #3
0
파일: test_batch.py 프로젝트: lslaz1/karl
 def _callFUT(self, fp, context, request, **kw):
     from karl.views.batch import get_fileline_batch
     return get_fileline_batch(fp, context, request, **kw)
예제 #4
0
파일: test_batch.py 프로젝트: cguardia/karl
 def _callFUT(self, fp, context, request, **kw):
     from karl.views.batch import get_fileline_batch
     return get_fileline_batch(fp, context, request, **kw)