Whoa boy rust is a problem child
parent
f12fa74c86
commit
a9849f473a
|
|
@ -1,2 +1,3 @@
|
||||||
**/*.sw*
|
**/*.sw*
|
||||||
**/*.db
|
**/*.db
|
||||||
|
**/target
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,84 @@
|
||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "0.1.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "getrandom"
|
||||||
|
version = "0.1.14"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
"wasi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.69"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "99e85c08494b21a9054e7fe1374a732aeadaff3980b6990b94bfd3a70f690005"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ppv-lite86"
|
||||||
|
version = "0.2.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.7.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
|
"libc",
|
||||||
|
"rand_chacha",
|
||||||
|
"rand_core",
|
||||||
|
"rand_hc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_chacha"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
|
||||||
|
dependencies = [
|
||||||
|
"ppv-lite86",
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.5.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_hc"
|
||||||
|
version = "0.2.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "secert-hitler"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"rand",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasi"
|
||||||
|
version = "0.9.0+wasi-snapshot-preview1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
[package]
|
||||||
|
name = "secert-hitler"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["bel <squeaky2x3@blapointe.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
rand = "*"
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
pub static PORT:&str = ":8080";
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
#[derive(Debug)]
|
||||||
|
pub struct GameMaster {
|
||||||
|
room_id: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl GameMaster {
|
||||||
|
fn new() -> GameMaster {
|
||||||
|
GameMaster{
|
||||||
|
room_id: "hello".to_string(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn new() {
|
||||||
|
let gm = GameMaster::new();
|
||||||
|
println!("made: {:?}", gm);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
#[derive(Clone, Debug)]
|
||||||
|
pub struct Event {
|
||||||
|
pub sender: String,
|
||||||
|
pub body: String,
|
||||||
|
pub next: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
#[test]
|
||||||
|
fn event() {
|
||||||
|
let e = super::Event{
|
||||||
|
sender: "sender".to_string(),
|
||||||
|
body: "body".to_string(),
|
||||||
|
next: "next".to_string(),
|
||||||
|
};
|
||||||
|
println!("{:?}", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,134 @@
|
||||||
|
use super::room::Room;
|
||||||
|
use super::event::Event;
|
||||||
|
|
||||||
|
use rand::{self, Rng};
|
||||||
|
use rand::distributions::Alphanumeric;
|
||||||
|
|
||||||
|
#[derive(Clone, Debug)]
|
||||||
|
pub struct MockRoom {
|
||||||
|
last: String,
|
||||||
|
room_id: String,
|
||||||
|
events: Vec<Event>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl MockRoom {
|
||||||
|
pub fn create() -> MockRoom {
|
||||||
|
MockRoom::join(rands())
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn join(room_id: String) -> MockRoom {
|
||||||
|
MockRoom {
|
||||||
|
last: "".to_string(),
|
||||||
|
room_id: room_id,
|
||||||
|
events: vec![],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn room(&self) -> impl Room {
|
||||||
|
self.clone()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Room for MockRoom {
|
||||||
|
fn sync(&mut self) -> Vec<Event> {
|
||||||
|
let mut unseen: Vec<Event> = vec![];
|
||||||
|
let mut last = self.last.clone();
|
||||||
|
for e in &self.events {
|
||||||
|
if e.next == self.last {
|
||||||
|
unseen.clear();
|
||||||
|
} else {
|
||||||
|
unseen.push(e.clone());
|
||||||
|
last = e.next.clone();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
self.last = last;
|
||||||
|
return unseen;
|
||||||
|
}
|
||||||
|
|
||||||
|
fn send(&mut self, message: String) -> Result<&str, &str> {
|
||||||
|
let e = Event{
|
||||||
|
sender: rands(),
|
||||||
|
next: rands(),
|
||||||
|
body: message,
|
||||||
|
};
|
||||||
|
self.events.push(e);
|
||||||
|
Ok("ok")
|
||||||
|
}
|
||||||
|
|
||||||
|
fn room_id(&self) -> String {
|
||||||
|
self.room_id.clone()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn rands() -> String {
|
||||||
|
rand::thread_rng()
|
||||||
|
.sample_iter(&Alphanumeric)
|
||||||
|
.take(10)
|
||||||
|
.collect::<String>()
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::Room;
|
||||||
|
use super::MockRoom;
|
||||||
|
use super::Event;
|
||||||
|
use super::rands;
|
||||||
|
|
||||||
|
fn _dummy() -> MockRoom {
|
||||||
|
let mut r = MockRoom::create();
|
||||||
|
r.last = "1".to_string();
|
||||||
|
r.events = vec![];
|
||||||
|
for i in 0..5 {
|
||||||
|
r.events.push(Event{
|
||||||
|
sender: i.to_string(),
|
||||||
|
next: i.to_string(),
|
||||||
|
body: i.to_string(),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
r
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn randstest() {
|
||||||
|
let a = rands();
|
||||||
|
let b = rands();
|
||||||
|
assert!(a != b, "a == {} == b == {}", a, b);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn create() {
|
||||||
|
let mut r: MockRoom = MockRoom::create();
|
||||||
|
println!("{:?}", r.sync());
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn join() {
|
||||||
|
let rid = "a".to_string();
|
||||||
|
let r: MockRoom = MockRoom::join(rid.to_string());
|
||||||
|
assert!(r.room_id == rid);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn sync() {
|
||||||
|
let mut r = _dummy();
|
||||||
|
let events = r.sync();
|
||||||
|
assert!(events.len() == 3, "want {}, got {}: {:?}", 3, events.len(), events);
|
||||||
|
assert!(events[0].sender == "2");
|
||||||
|
assert!(events[0].body == "2");
|
||||||
|
assert!(events[0].next == "2");
|
||||||
|
assert!(r.last == "4", "want last==4, got {}", r.last);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn send() {
|
||||||
|
let mut r = _dummy();
|
||||||
|
let message = "message".to_string();
|
||||||
|
r.sync();
|
||||||
|
assert!(r.send(message.clone()).ok().unwrap() == "ok");
|
||||||
|
assert!(r.last == "4");
|
||||||
|
let events = r.sync();
|
||||||
|
assert!(events.len() == 1);
|
||||||
|
assert!(events[0].body == message, "want {}, got {}: {:?}", message, events[0].body, events);
|
||||||
|
assert!(r.last != "4");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,89 @@
|
||||||
|
use super::rooms::Rooms;
|
||||||
|
use super::room::Room;
|
||||||
|
use super::mockroom::MockRoom;
|
||||||
|
|
||||||
|
// #[derive(Clone, Debug)]
|
||||||
|
pub struct MockRooms {
|
||||||
|
rooms: Vec<MockRoom>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl MockRooms {
|
||||||
|
pub fn new() -> MockRooms {
|
||||||
|
MockRooms {
|
||||||
|
rooms: vec![],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Rooms for MockRooms {
|
||||||
|
fn create(&mut self) -> Box<dyn Room> {
|
||||||
|
let room = MockRoom::create();
|
||||||
|
let _room = room.room();
|
||||||
|
self.rooms.push(room);
|
||||||
|
Box::new(_room)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn join(&self, room_id: String) -> Result<Box<dyn Room>, &str> {
|
||||||
|
for r in &self.rooms {
|
||||||
|
if r.room_id() == room_id {
|
||||||
|
return Ok(Box::new(r.room()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Err("not found")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::MockRooms;
|
||||||
|
use super::MockRoom;
|
||||||
|
use super::Rooms;
|
||||||
|
|
||||||
|
fn _dummy() -> MockRooms {
|
||||||
|
let mut mrs = MockRooms::new();
|
||||||
|
for i in 0..5 {
|
||||||
|
let random = MockRoom::create();
|
||||||
|
mrs.rooms.push(random);
|
||||||
|
let joined = MockRoom::join(i.to_string());
|
||||||
|
mrs.rooms.push(joined);
|
||||||
|
}
|
||||||
|
assert!(mrs.rooms.len() == 10);
|
||||||
|
mrs
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn mockrooms() {
|
||||||
|
let mrs = MockRooms::new();
|
||||||
|
assert!(mrs.rooms.len() == 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn create() {
|
||||||
|
let mut mrs = _dummy();
|
||||||
|
let was = mrs.rooms.len();
|
||||||
|
let _ = mrs.create();
|
||||||
|
let is = mrs.rooms.len();
|
||||||
|
assert!(was+1 == is, "was {} rooms, want {} rooms, got {} rooms", was, was+1, is);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn join_404() {
|
||||||
|
let mrs = _dummy();
|
||||||
|
let was = mrs.rooms.len();
|
||||||
|
let r = mrs.join("does not exist".to_string());
|
||||||
|
let is = mrs.rooms.len();
|
||||||
|
assert!(was == is, "was {} rooms, want {} rooms, got {} rooms", was, was+1, is);
|
||||||
|
assert!(!r.is_ok());
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn join_found() {
|
||||||
|
let mrs = _dummy();
|
||||||
|
let was = mrs.rooms.len();
|
||||||
|
let r = mrs.join("0".to_string());
|
||||||
|
let is = mrs.rooms.len();
|
||||||
|
assert!(was == is, "was {} rooms, want {} rooms, got {} rooms", was, was+1, is);
|
||||||
|
assert!(r.is_ok());
|
||||||
|
assert!(r.ok().unwrap().room_id() == "0");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
use super::event;
|
||||||
|
|
||||||
|
pub trait Room {
|
||||||
|
fn sync(&mut self) -> Vec<event::Event>;
|
||||||
|
fn send(&mut self, message: String) -> Result<&str, &str>;
|
||||||
|
fn room_id(&self) -> String;
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
#[test]
|
||||||
|
fn room() {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
use super::room::Room;
|
||||||
|
|
||||||
|
pub trait Rooms {
|
||||||
|
fn create(&mut self) -> Box<dyn Room>;
|
||||||
|
fn join(&self, room_id: String) -> Result<Box<dyn Room>, &str>;
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
#[test]
|
||||||
|
fn rooms() {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
mod config;
|
||||||
|
#[path = "./controller/gamemaster/gamemaster.rs"] mod gamemaster;
|
||||||
|
#[path = "./controller/state/event.rs"] mod event;
|
||||||
|
#[path = "./controller/state/room.rs"] mod room;
|
||||||
|
#[path = "./controller/state/rooms.rs"] mod rooms;
|
||||||
|
#[path = "./controller/state/mockroom.rs"] mod mockroom;
|
||||||
|
#[path = "./controller/state/mockrooms.rs"] mod mockrooms;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
println!("{}", config::PORT);
|
||||||
|
}
|
||||||
|
|
@ -1,7 +1,10 @@
|
||||||
#! /bin/bash
|
#! /bin/bash
|
||||||
|
|
||||||
if ! ps aux | grep -v grep | grep homeserver; then
|
if ! ps aux | grep -v grep | grep homeserver; then
|
||||||
homeserver -c config.yaml &
|
cp synapse-test.key /tmp/
|
||||||
|
cp synapse-test-log.yaml /tmp/
|
||||||
|
homeserver -c config.yaml &> /tmp/synapse-test.log &
|
||||||
|
disown
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# pick a username
|
# pick a username
|
||||||
|
|
@ -9,7 +12,7 @@ username="$(cat /proc/sys/kernel/random/uuid)"
|
||||||
|
|
||||||
# register
|
# register
|
||||||
out="$(
|
out="$(
|
||||||
curl -sS http://192.168.0.86:39487/_matrix/client/r0/register \
|
curl -sS http://localhost:39487/_matrix/client/r0/register \
|
||||||
-X POST \
|
-X POST \
|
||||||
-H 'content-type: application/json' \
|
-H 'content-type: application/json' \
|
||||||
-d "$(
|
-d "$(
|
||||||
|
|
@ -31,7 +34,7 @@ home_server="$(echo "$out" | jq -r .home_server)"
|
||||||
room="$(cat /proc/sys/kernel/random/uuid)"
|
room="$(cat /proc/sys/kernel/random/uuid)"
|
||||||
|
|
||||||
out="$(
|
out="$(
|
||||||
curl -sS http://192.168.0.86:39487/_matrix/client/r0/createRoom\
|
curl -sS http://localhost:39487/_matrix/client/r0/createRoom\
|
||||||
-X POST \
|
-X POST \
|
||||||
-H 'content-type: application/json' \
|
-H 'content-type: application/json' \
|
||||||
-H 'Authorization: Bearer '"$access_token" \
|
-H 'Authorization: Bearer '"$access_token" \
|
||||||
|
|
@ -46,7 +49,7 @@ room_id="$(echo "$out" | jq -r .room_id)"
|
||||||
|
|
||||||
# join a room by name
|
# join a room by name
|
||||||
# curl -XPOST -d '{}' "https://localhost:8448/_matrix/client/r0/join/%21asfLdzLnOdGRkdPZWu:localhost?access_token=YOUR_ACCESS_TOKEN"
|
# curl -XPOST -d '{}' "https://localhost:8448/_matrix/client/r0/join/%21asfLdzLnOdGRkdPZWu:localhost?access_token=YOUR_ACCESS_TOKEN"
|
||||||
curl -sS "http://192.168.0.86:39487/_matrix/client/r0/join/$room_id" \
|
curl -sS "http://localhost:39487/_matrix/client/r0/join/$room_id" \
|
||||||
-X POST \
|
-X POST \
|
||||||
-H 'Authorization: Bearer '"$access_token" \
|
-H 'Authorization: Bearer '"$access_token" \
|
||||||
-d '{}'
|
-d '{}'
|
||||||
|
|
@ -58,7 +61,7 @@ txid="$(cat /proc/sys/kernel/random/uuid)"
|
||||||
message="hello wurl"
|
message="hello wurl"
|
||||||
|
|
||||||
out="$(
|
out="$(
|
||||||
curl -sS "http://192.168.0.86:39487/_matrix/client/r0/rooms/$room_id/send/m.room.message/$txid" \
|
curl -sS "http://localhost:39487/_matrix/client/r0/rooms/$room_id/send/m.room.message/$txid" \
|
||||||
-X PUT \
|
-X PUT \
|
||||||
-H 'content-type: application/json' \
|
-H 'content-type: application/json' \
|
||||||
-H 'Authorization: Bearer '"$access_token" \
|
-H 'Authorization: Bearer '"$access_token" \
|
||||||
|
|
@ -74,7 +77,7 @@ printf "%s\n" "$out"
|
||||||
# get recent messages
|
# get recent messages
|
||||||
# curl --globoff -XGET 'https://localhost:8448/_matrix/client/r0/sync?filter={"room":{"timeline":{"limit":1}}}&access_token=YOUR_ACCESS_TOKEN'
|
# curl --globoff -XGET 'https://localhost:8448/_matrix/client/r0/sync?filter={"room":{"timeline":{"limit":1}}}&access_token=YOUR_ACCESS_TOKEN'
|
||||||
out="$(
|
out="$(
|
||||||
curl -sS "http://192.168.0.86:39487/_matrix/client/r0/sync" \
|
curl -sS "http://localhost:39487/_matrix/client/r0/sync" \
|
||||||
-X GET \
|
-X GET \
|
||||||
-H 'content-type: application/json' \
|
-H 'content-type: application/json' \
|
||||||
-H 'Authorization: Bearer '"$access_token" \
|
-H 'Authorization: Bearer '"$access_token" \
|
||||||
|
|
@ -89,7 +92,7 @@ txid="$(cat /proc/sys/kernel/random/uuid)"
|
||||||
message="hello wurl2"
|
message="hello wurl2"
|
||||||
|
|
||||||
out="$(
|
out="$(
|
||||||
curl -sS "http://192.168.0.86:39487/_matrix/client/r0/rooms/$room_id/send/m.room.message/$txid" \
|
curl -sS "http://localhost:39487/_matrix/client/r0/rooms/$room_id/send/m.room.message/$txid" \
|
||||||
-X PUT \
|
-X PUT \
|
||||||
-H 'content-type: application/json' \
|
-H 'content-type: application/json' \
|
||||||
-H 'Authorization: Bearer '"$access_token" \
|
-H 'Authorization: Bearer '"$access_token" \
|
||||||
|
|
@ -104,7 +107,7 @@ printf "%s\n" "$out"
|
||||||
|
|
||||||
# get second recent messages
|
# get second recent messages
|
||||||
# curl --globoff -XGET 'https://localhost:8448/_matrix/client/r0/sync?filter={"room":{"timeline":{"limit":1}}}&access_token=YOUR_ACCESS_TOKEN'
|
# curl --globoff -XGET 'https://localhost:8448/_matrix/client/r0/sync?filter={"room":{"timeline":{"limit":1}}}&access_token=YOUR_ACCESS_TOKEN'
|
||||||
curl -sS "http://192.168.0.86:39487/_matrix/client/r0/sync?since=$since" \
|
curl -sS "http://localhost:39487/_matrix/client/r0/sync?since=$since" \
|
||||||
-X GET \
|
-X GET \
|
||||||
-H 'content-type: application/json' \
|
-H 'content-type: application/json' \
|
||||||
-H 'Authorization: Bearer '"$access_token" \
|
-H 'Authorization: Bearer '"$access_token" \
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
# Log configuration for Synapse.
|
||||||
|
#
|
||||||
|
# This is a YAML file containing a standard Python logging configuration
|
||||||
|
# dictionary. See [1] for details on the valid settings.
|
||||||
|
#
|
||||||
|
# [1]: https://docs.python.org/3.7/library/logging.config.html#configuration-dictionary-schema
|
||||||
|
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
formatters:
|
||||||
|
precise:
|
||||||
|
format: '%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(request)s - %(message)s'
|
||||||
|
|
||||||
|
filters:
|
||||||
|
context:
|
||||||
|
(): synapse.logging.context.LoggingContextFilter
|
||||||
|
request: ""
|
||||||
|
|
||||||
|
handlers:
|
||||||
|
file:
|
||||||
|
class: logging.handlers.RotatingFileHandler
|
||||||
|
formatter: precise
|
||||||
|
filename: /home/bel/Go/src/local/containers/secret-hitler-via-matrix/testdata/matrix-sandbox/homeserver.log
|
||||||
|
maxBytes: 104857600
|
||||||
|
backupCount: 10
|
||||||
|
filters: [context]
|
||||||
|
encoding: utf8
|
||||||
|
console:
|
||||||
|
class: logging.StreamHandler
|
||||||
|
formatter: precise
|
||||||
|
filters: [context]
|
||||||
|
|
||||||
|
loggers:
|
||||||
|
synapse.storage.SQL:
|
||||||
|
# beware: increasing this to DEBUG will make synapse log sensitive
|
||||||
|
# information such as access tokens.
|
||||||
|
level: INFO
|
||||||
|
|
||||||
|
root:
|
||||||
|
level: INFO
|
||||||
|
handlers: [file, console]
|
||||||
|
|
||||||
|
disable_existing_loggers: false
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
ed25519 a_RcOc CohEFmFuSDY+kHBbY//SMIUZp+hIuyOMEphT2NLEsDc
|
||||||
Loading…
Reference in New Issue