Мониторинг журналов \ Страница колбы [дубликат]

Я использовал getActivityContext() (вместо Activity.this) для кода меню, чтобы сохранить какую-то работу, и копировать и вставлять его в каждое действие без редактирования каждый раз.

Я заменил их с Activity.this, и проблема исчезла.

У меня такое чувство, что умный парень Android может работать, не имея необходимости делать это. Хотелось бы услышать, что это будет.

9
задан davidism 21 February 2016 в 22:04
поделиться

2 ответа

Используйте представление «Флажок» для непрерывного чтения из файла навсегда и потока ответа. Используйте JavaScript для чтения из потока и обновления страницы. Этот пример отправляет весь файл, вы можете усечь его в какой-то момент, чтобы сохранить пропускную способность и память. Этот пример засыпает между чтениями, чтобы уменьшить загрузку процессора из бесконечного цикла и разрешить другим потокам более активное время.

from time import sleep
from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/stream')
def stream():
    def generate():
        with open('job.log') as f:
            while True:
                yield f.read()
                sleep(1)

    return app.response_class(generate(), mimetype='text/plain')

app.run()
<pre id="output"></pre>
<script>
    var output = document.getElementById('output');

    var xhr = new XMLHttpRequest();
    xhr.open('GET', '{{ url_for('stream') }}');
    xhr.send();

    setInterval(function() {
        output.textContent = xhr.responseText;
    }, 1000);
</script>

Это почти то же самое, что этот ответ , который описывает, как передавать и анализировать сообщения, хотя чтение из внешнего файла навсегда было достаточно новым, чтобы быть его собственным ответом. Код здесь проще, потому что мы не заботимся о разборе сообщений или прекращении потока, просто навсегда сохраняя файл.

11
ответ дан Community 15 August 2018 в 17:21
поделиться
  • 1
    Большое спасибо! кажется интересным! Я хотел бы также иметь вариант на этой странице, чтобы перенаправить страницу назад (вид & quot; back & quot;) на предыдущую страницу. вот почему я хотел иметь его в текстовом объекте. Как я могу справиться с этим? – Sina Sh 22 February 2016 в 19:44
  • 2
    Этот ответ не предполагает перехода на другую страницу. Если это так, вы создадите ссылку на другую страницу с помощью url_for, как обычно с Flask. – davidism 22 February 2016 в 19:46
  • 3
    Не работал для меня, пока я не использовал mimetype='text/event-stream' – MaxNoe 3 March 2017 в 17:15

Я использую пакет frontail из npm.

npm i frontail -g
frontail /var/log/syslog

посещает http://127.0.0.1:9001 для просмотра журналов

Источник: https://github.com/mthenw/frontail

Это может быть не точный ответ на вопрос (для встраивания html-страницы), но он решает проблему многих пользователей, которые ищут только для

Отображает содержимое файла журнала по мере его обновления

-1
ответ дан Ayushya 15 August 2018 в 17:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: