)]}'
{
  "commit": "f6adcd2ac60af3897b5d9b2e05dfd6a7777da11d",
  "tree": "ebfc5b136eaf3f2d5f1e0b8aed88b563b425058f",
  "parents": [
    "de52fe718454263294e218b0d673f60224678974"
  ],
  "author": {
    "name": "Dale Sather",
    "email": "dalesat@chromium.org",
    "time": "Wed Jun 15 15:41:21 2016 -0700"
  },
  "committer": {
    "name": "Dale Sather",
    "email": "dalesat@chromium.org",
    "time": "Wed Jun 15 15:41:21 2016 -0700"
  },
  "message": "Add \u0027flog\u0027 service implementation.\nThis is the first take on the service implementation for formatted\nlogging. Logs are stored to the service\u0027s app persistent storage. The\nservice creates loggers, enumerates existing logs and creates log\nreaders for apps that want to consume logs. Currently the service will\nonly enumerate logs that existed when the service started. There\u0027s no\nsupport for reading logs that are currently open. I also need to add\nthe ability to log generic text/file/line entries.\n\nR\u003dkulakowski@chromium.org\n\nReview URL: https://codereview.chromium.org/2046703002 .\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6d11cd3db0cbd42d1329439a447e630c948e2b05",
      "old_mode": 33188,
      "old_path": "mojo/dart/packages/mojo_services/lib/mojo/flog/flog.mojom.dart",
      "new_id": "57eaf2bc1856beb7981ba98417ca0a7c6ab16826",
      "new_mode": 33188,
      "new_path": "mojo/dart/packages/mojo_services/lib/mojo/flog/flog.mojom.dart"
    },
    {
      "type": "modify",
      "old_id": "dafae116932c13d7bd0f92cb05eacc2ac7032311",
      "old_mode": 33188,
      "old_path": "mojo/services/flog/cpp/BUILD.gn",
      "new_id": "440f65c95a64d5b675c6567a5c5f397ced98b0e8",
      "new_mode": 33188,
      "new_path": "mojo/services/flog/cpp/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "dfa9e3bdeca2f20a5b7f1233cc688c6b84b72661",
      "old_mode": 33188,
      "old_path": "mojo/services/flog/cpp/flog.h",
      "new_id": "4ab91b4e07a6a92a87480aa3c0e64f57e805dfe5",
      "new_mode": 33188,
      "new_path": "mojo/services/flog/cpp/flog.h"
    },
    {
      "type": "modify",
      "old_id": "0c6f17138c9d74f583127038991eb36049ed3ef2",
      "old_mode": 33188,
      "old_path": "mojo/services/flog/interfaces/flog.mojom",
      "new_id": "8a600be315e4c41cef86ce5ca67fd62720267638",
      "new_mode": 33188,
      "new_path": "mojo/services/flog/interfaces/flog.mojom"
    },
    {
      "type": "modify",
      "old_id": "60858d2272186975fd353f44e4fe824d53a853d4",
      "old_mode": 33188,
      "old_path": "services/BUILD.gn",
      "new_id": "65f74c0c15452e87a5db28b7ad31e3ffa13ba46d",
      "new_mode": 33188,
      "new_path": "services/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ded940b57a5424f26833eb6f32213734e01acd35",
      "new_mode": 33188,
      "new_path": "services/flog/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "662e454fbf9ffe59760ed1fc4a16d6d1d23d7bcf",
      "new_mode": 33188,
      "new_path": "services/flog/flog_directory.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "54f9c07215fced6c7102729851efd0609a868ce0",
      "new_mode": 33188,
      "new_path": "services/flog/flog_directory.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6941e0dc9c6752689176efd29d757c6cf1113326",
      "new_mode": 33188,
      "new_path": "services/flog/flog_logger_impl.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d0a17636008e818dd9fd3d09df5a4f880b04f907",
      "new_mode": 33188,
      "new_path": "services/flog/flog_logger_impl.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "86479b62b1cbbb36b46e97670d86b8d8d9a93aea",
      "new_mode": 33188,
      "new_path": "services/flog/flog_reader_impl.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0b45126e235bb73be0808e8645dd2a4c66fad799",
      "new_mode": 33188,
      "new_path": "services/flog/flog_reader_impl.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ecfd4516f5ea8c589d180082df749c299262d962",
      "new_mode": 33188,
      "new_path": "services/flog/flog_service_impl.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "678826d3840905f2d99ac8ccee4da599d8616692",
      "new_mode": 33188,
      "new_path": "services/flog/flog_service_impl.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e5b908dda463ac8fca6125e1a9ab1f41ee1ba2de",
      "new_mode": 33188,
      "new_path": "services/flog/main.cc"
    }
  ]
}
